diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5e82d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +bin \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3b7ede4 --- /dev/null +++ b/Makefile @@ -0,0 +1,24 @@ +FILE := main.go +PROJECTNAME := m3ujson + +_mdir: + @mkdir bin + +clean: + @echo " > Clean directory..." + @rm -rf bin + +build: clean _mdir + @echo " > Building binary..." + @go build -o bin/${PROJECTNAME} ${FILE} + +run: + @echo " > Run..." + @go run ${FILE} + +compile: clean _mdir + @echo " > Build binary all arch..." + @echo "+linux" + @GOOS=linux GOARCH=amd64 go build -o bin/${PROJECTNAME}-linux-amd64 ${FILE} + @echo "+mipsle" + @GOOS=linux GOARCH=mipsle go build -o bin/${PROJECTNAME}-mipsle ${FILE} diff --git a/m3ujson.go b/main.go similarity index 96% rename from m3ujson.go rename to main.go index 9c61260..770d007 100644 --- a/m3ujson.go +++ b/main.go @@ -12,12 +12,14 @@ import ( "strings" ) +// Provider ... var Provider string +// TVChannel ... type TVChannel struct { Name string `json:"name"` Provider string `json:"provider"` - Url string `json:"url"` + URL string `json:"url"` Source string `json:"source"` } @@ -57,25 +59,26 @@ func convertToStruct(m3u []byte) ([]TVChannel, error){ return TvChannels, nil } -func init() { - flag.StringVar(&Provider, "p", "Edem", "Provider name") -} func main() { + flag.StringVar(&Provider, "p", "Edem", "Provider name") flag.Parse() if len(flag.Args()) < 1 { flag.Usage() log.Fatalln("Url should be specifically") } + m3u, err := getM3U(flag.Args()[len(flag.Args())-1]) if err != nil { log.Fatalln(err) } + channels, err := convertToStruct(m3u) if err != nil { log.Fatalln(err) } + data, err := json.MarshalIndent(channels, "", " ") if err != nil { log.Fatalln(err)