Initial release
This commit is contained in:
+75
@@ -0,0 +1,75 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
)
|
||||
|
||||
func writeJSON(v any) error {
|
||||
enc := json.NewEncoder(os.Stdout)
|
||||
enc.SetIndent("", " ")
|
||||
return enc.Encode(v)
|
||||
}
|
||||
|
||||
// JSON output types — lightweight structs for clean, agent-friendly output.
|
||||
|
||||
type jsonSeries struct {
|
||||
Title string `json:"title"`
|
||||
Year int `json:"year"`
|
||||
Status string `json:"status"`
|
||||
TvdbID int `json:"tvdb_id,omitempty"`
|
||||
Network string `json:"network,omitempty"`
|
||||
SeasonCount int `json:"season_count,omitempty"`
|
||||
EpisodesHave int `json:"episodes_have,omitempty"`
|
||||
EpisodesTotal int `json:"episodes_total,omitempty"`
|
||||
NextAiring string `json:"next_airing,omitempty"`
|
||||
Overview string `json:"overview,omitempty"`
|
||||
Added string `json:"added,omitempty"`
|
||||
}
|
||||
|
||||
type jsonMovie struct {
|
||||
Title string `json:"title"`
|
||||
Year int `json:"year"`
|
||||
Status string `json:"status"`
|
||||
ImdbID string `json:"imdb_id,omitempty"`
|
||||
Studio string `json:"studio,omitempty"`
|
||||
Runtime int `json:"runtime,omitempty"`
|
||||
HasFile bool `json:"has_file"`
|
||||
File string `json:"file,omitempty"`
|
||||
Size int64 `json:"size_bytes,omitempty"`
|
||||
Quality string `json:"quality,omitempty"`
|
||||
Overview string `json:"overview,omitempty"`
|
||||
Added string `json:"added,omitempty"`
|
||||
}
|
||||
|
||||
type jsonProfile struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type jsonRootFolder struct {
|
||||
ID int `json:"id"`
|
||||
Path string `json:"path"`
|
||||
FreeSpace int64 `json:"free_space_bytes"`
|
||||
FreeHuman string `json:"free_space"`
|
||||
}
|
||||
|
||||
type jsonAdded struct {
|
||||
Status string `json:"status"`
|
||||
Title string `json:"title"`
|
||||
Year int `json:"year"`
|
||||
TvdbID int `json:"tvdb_id,omitempty"`
|
||||
ImdbID string `json:"imdb_id,omitempty"`
|
||||
}
|
||||
|
||||
type jsonSuggestions struct {
|
||||
Error string `json:"error"`
|
||||
Suggestions []jsonSuggestion `json:"suggestions"`
|
||||
}
|
||||
|
||||
type jsonSuggestion struct {
|
||||
Title string `json:"title"`
|
||||
Year int `json:"year"`
|
||||
TvdbID int `json:"tvdb_id,omitempty"`
|
||||
ImdbID string `json:"imdb_id,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user