From 813b37d0cf7e6e371418feac56d40f48176105ba Mon Sep 17 00:00:00 2001 From: Andinus Date: Tue, 24 Mar 2020 17:41:57 +0530 Subject: Reinitialize project and change module url --- cmd/cetus/main.go | 148 ------------------------------------------------------ 1 file changed, 148 deletions(-) delete mode 100644 cmd/cetus/main.go (limited to 'cmd/cetus/main.go') diff --git a/cmd/cetus/main.go b/cmd/cetus/main.go deleted file mode 100644 index 613c587..0000000 --- a/cmd/cetus/main.go +++ /dev/null @@ -1,148 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "math/rand" - "os" - "time" -) - -var ( - apodAPI *string - apodKey *string - apodDate *string - apodRand *bool - apodPathOnly *bool - apodQuiet *bool - apodDump *bool - - bpodAPI *string - bpodRand *bool - bpodPathOnly *bool - bpodQuiet *bool - bpodDump *bool - - apodNotify *bool - bpodNotify *bool -) - -func main() { - // Early Check: If command was not passed then print usage and - // exit. Later command & service both are checked, this check - // if for version command. If not checked then running cetus - // without any args will fail because os.Args[1] will panic - // the program & produce runtime error. - if len(os.Args) == 1 { - printUsage() - os.Exit(1) - } - - version := "v0.5.2" - - if os.Args[1] == "version" { - fmt.Printf("Cetus %s\n", version) - os.Exit(0) - } - - // If command & service was not passed then print usage and - // exit. - if len(os.Args) < 3 { - printUsage() - os.Exit(1) - } - - rand.Seed(time.Now().Unix()) - - apodCmd := flag.NewFlagSet("apod", flag.ExitOnError) - bpodCmd := flag.NewFlagSet("bpod", flag.ExitOnError) - - defDate := time.Now().UTC().Format("2006-01-02") - - // Flags to parse for apod service. - apodAPI = apodCmd.String("api", "https://api.nasa.gov/planetary/apod", "APOD API link") - apodKey = apodCmd.String("api-key", "DEMO_KEY", "NASA API Key for expanded usage") - apodDate = apodCmd.String("date", defDate, "Date of NASA APOD to retrieve") - apodRand = apodCmd.Bool("random", false, "Choose a date random starting from 1995-06-16") - apodPathOnly = apodCmd.Bool("path-only", false, "Print only the path") - apodQuiet = apodCmd.Bool("quiet", false, "Stay quiet") - apodDump = apodCmd.Bool("dump", false, "Dump received response") - apodNotify = apodCmd.Bool("notify", false, "Send a desktop notification with background information") - - // Flags to parse for bpod service. - bpodAPI = bpodCmd.String("api", "https://www.bing.com/HPImageArchive.aspx", "BPOD API") - bpodRand = bpodCmd.Bool("random", false, "Choose a random image from last week's BPOD") - bpodPathOnly = bpodCmd.Bool("path-only", false, "Print only the path") - bpodQuiet = bpodCmd.Bool("quiet", false, "Stay quiet") - bpodDump = bpodCmd.Bool("dump", false, "Dump received response") - bpodNotify = bpodCmd.Bool("notify", false, "Send a desktop notification with background information") - - // Switching on commands will cause more repetition than - // switching on service. If we switch on commands then switch - // on service will have to be replicated on every command - // switch. Reverse is also true, this way we will repeat - // command switch in every service but we do so in a better - // way. - // - // However we check if the correct command was passed. version - // command is not included because it has been dealt with - // earlier in the program & the program should've exited after - // that, if it reaches here then it's an error. - switch os.Args[1] { - case "set", "fetch": - default: - fmt.Printf("Invalid command: %q\n", os.Args[1]) - printUsage() - os.Exit(1) - } - - switch os.Args[2] { - case "apod", "nasa": - apodCmd.Parse(os.Args[3:]) - if apodCmd.Parsed() { - execAPOD() - } - case "bpod", "bing": - bpodCmd.Parse(os.Args[3:]) - if bpodCmd.Parsed() { - execBPOD() - } - default: - fmt.Printf("Invalid service: %q\n", os.Args[2]) - printUsage() - os.Exit(1) - } -} - -func printUsage() { - fmt.Println("Usage: cetus []\n") - fmt.Println("Commands: ") - fmt.Println(" set Set the latest image as background") - fmt.Println(" fetch Fetch the latest image information") - fmt.Println(" version Print version") - fmt.Println("\nServices: ") - fmt.Println(" apod NASA Astronomy Picture of the Day") - fmt.Println(" bpod Bing Photo of the Day") -} - -// Check whether user has set CETUS_CACHE_DIR, if not then use the -// XDG_CACHE_HOME. If XDG_CACHE_HOME is not set then $HOME/.config -// should be used, according to XDG Base Directory Specification -func getCacheDir() string { - cacheDir := os.Getenv("CETUS_CACHE_DIR") - if len(cacheDir) == 0 { - cacheDir = os.Getenv("XDG_CACHE_HOME") - } - if len(cacheDir) == 0 { - cacheDir = fmt.Sprintf("%s/%s/%s", os.Getenv("HOME"), - ".cache", "cetus") - } - return cacheDir -} - -func chkErr(err error) { - if err != nil { - fmt.Println(err) - os.Exit(1) - } -} -- cgit 1.4.1-2-gfad0