summary refs log tree commit diff stats
path: root/cmd/cetus-bing/cetus-bing.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/cetus-bing/cetus-bing.go')
-rw-r--r--cmd/cetus-bing/cetus-bing.go127
1 files changed, 0 insertions, 127 deletions
diff --git a/cmd/cetus-bing/cetus-bing.go b/cmd/cetus-bing/cetus-bing.go
deleted file mode 100644
index 29ef6f4..0000000
--- a/cmd/cetus-bing/cetus-bing.go
+++ /dev/null
@@ -1,127 +0,0 @@
-package main
-
-import (
-	"encoding/json"
-	"flag"
-	"fmt"
-	"math/rand"
-	"time"
-
-	"framagit.org/andinus/cetus/pkg/background"
-	"framagit.org/andinus/cetus/pkg/bing"
-	"framagit.org/andinus/cetus/pkg/cetus"
-)
-
-type photo struct {
-	StartDate     string `json:"startdate"`
-	FullStartDate string `json:"fullstartdate"`
-	EndDate       string `json:"enddate"`
-	Url           string `json:"url"`
-	UrlBase       string `json:"urlbase"`
-	Copyright     string `json:"copyright"`
-	CopyrightLink string `json:"copyrightlink"`
-	Title         string `json:"title"`
-	Hsh           string `json:"hsh"`
-}
-
-type bpod struct {
-	Photos []photo `json:"images"`
-}
-
-var (
-	t         time.Duration
-	api       string
-	dump      bool
-	quiet     bool
-	random    bool
-	version   bool
-	pathOnly  bool
-	fetchOnly bool
-)
-
-func main() {
-	parseFlags()
-
-	if version {
-		cetus.Version()
-		return
-	}
-	rand.Seed(time.Now().Unix())
-
-	// Convert timeout to seconds
-	t = t * time.Second
-
-	body, err := bpodBody()
-	if dump {
-		fmt.Println(body)
-		return
-	}
-
-	bpod := bpod{}
-	err = json.Unmarshal([]byte(body), &bpod)
-	cetus.ErrChk("body unmarshal failed", err)
-
-	// if random was set then bpodRes holds list of multiple
-	// responses, choose a random response from the list
-	var i int = rand.Intn(len(bpod.Photos))
-	bpodPhoto := bpod.Photos[i]
-
-	// correct image path
-	bpodPhoto.Url = fmt.Sprintf("%s%s", "https://www.bing.com", bpodPhoto.Url)
-
-	// correct date format
-	dt, err := time.Parse("20060102", bpodPhoto.StartDate)
-	cetus.ErrChk("bpodPhoto.startDate parse failed", err)
-	bpodPhoto.StartDate = dt.Format("2006-01-02")
-
-	printDetails(bpodPhoto)
-
-	// if fetchOnly is true then don't set background
-	if fetchOnly {
-		return
-	}
-
-	err = background.Set(bpodPhoto.Url)
-	cetus.ErrChk("setting background failed", err)
-}
-
-func parseFlags() {
-	flag.BoolVar(&quiet, "quiet", false, "No output")
-	flag.BoolVar(&version, "version", false, "Cetus version")
-	flag.BoolVar(&fetchOnly, "fetch-only", false, "Don't set background, only fetch info")
-	flag.BoolVar(&dump, "dump", false, "Only dump received response")
-	flag.BoolVar(&random, "random", false, "Choose a random image (from 7 images)")
-	flag.BoolVar(&pathOnly, "path-only", false, "Print only path of the image")
-
-	flag.StringVar(&api, "api", "https://www.bing.com/HPImageArchive.aspx", "BPOD API URL")
-
-	flag.DurationVar(&t, "timeout", 32*time.Second, "Timeout for http client in seconds")
-	flag.Parse()
-
-}
-
-func printDetails(bpodPhoto photo) {
-	if quiet {
-		return
-	}
-	if pathOnly {
-		cetus.PrintPath(bpodPhoto.Url)
-		return
-	}
-	fmt.Printf("Title: %s\n\n", bpodPhoto.Title)
-	fmt.Printf("Copyright: %s\n", bpodPhoto.Copyright)
-	fmt.Printf("Copyright Link: %s\n", bpodPhoto.CopyrightLink)
-	fmt.Printf("Date: %s\n\n", bpodPhoto.StartDate)
-	fmt.Printf("URL: %s\n", bpodPhoto.Url)
-}
-
-func bpodBody() (string, error) {
-	reqInfo := make(map[string]string)
-	reqInfo["api"] = api
-	if random {
-		reqInfo["random"] = "true"
-	}
-
-	body, err := bing.GetBpodJson(reqInfo, t)
-	return body, err
-}