diff options
| author | Julian Hurst <julian.hurst92@gmail.com> | 2021-07-27 03:05:31 +0200 |
|---|---|---|
| committer | Julian Hurst <julian.hurst92@gmail.com> | 2021-07-27 03:05:31 +0200 |
| commit | 975286228e26bc3c06f33961948fa55056b33bf7 (patch) | |
| tree | 99ebc5d00a09bbeec82d6616de6367f56ffdabf3 | |
| parent | 6573f6d5854676fdfa0f143d253e3a863dd56e49 (diff) | |
| download | metube-975286228e26bc3c06f33961948fa55056b33bf7.tar.gz | |
| -rw-r--r-- | doc/metube.1.scd | 3 | ||||
| -rw-r--r-- | metube.go | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/doc/metube.1.scd b/doc/metube.1.scd index 6cd422d..81323a1 100644 --- a/doc/metube.1.scd +++ b/doc/metube.1.scd @@ -32,6 +32,9 @@ It uses ytparser under the hood. *-p int* The page to get +*-j* + Export the items to json + # SEE ALSO *metube*(5) @@ -2,9 +2,11 @@ package main import ( "flag" + "fmt" "strings" "bufio" "os" + "encoding/json" "git.sr.ht/~ark/ytparser" ) @@ -28,6 +30,7 @@ func main() { page := flag.Int("p", 0, "The page to get") lang := flag.String("l", "en", "The language to search in (follows youtube's language codes: en, fr, de, ja...)") order := flag.String("o", "relevance", "The criterion to use for the search order (relevance, date, views, rating)") + jsonExport := flag.Bool("j", false, "Export to json") flag.Parse() if *format == "-" { *format = readStdin() @@ -36,5 +39,13 @@ func main() { if err != nil { panic(err) } - ytparser.PrintItems(items, *format) + if *jsonExport { + by, err := json.Marshal(items) + if err != nil { + panic(err) + } + fmt.Println(string(by)) + } else { + ytparser.PrintItems(items, *format) + } } |
