summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndinus <andinus@inventati.org>2020-03-14 16:23:53 +0530
committerAndinus <andinus@inventati.org>2020-03-14 16:23:53 +0530
commita7e66bc241524caf1accf02966c76f436fa19210 (patch)
tree8c8002b03ac1399ffe914e448de6c51f6777fab9
parent6849d7fb2d78ee820978fa64cc3b6623dbf8d633 (diff)
downloadcetus-a7e66bc241524caf1accf02966c76f436fa19210.tar.gz
Split project into multiple programs
Re-initialization to split project into multiple programs
-rw-r--r--README.org31
-rw-r--r--cmd/cetus/cetus.go60
-rw-r--r--pkg/unsplash/unsplash.go89
3 files changed, 7 insertions, 173 deletions
diff --git a/README.org b/README.org
index 75678c5..9363c21 100644
--- a/README.org
+++ b/README.org
@@ -1,37 +1,20 @@
 #+TITLE: Cetus
 
-Cetus is a wallpaper manager written in Go. It uses [[https://source.unsplash.com/][Unsplash Source]] to get
-wallpapers.
+Cetus is a simple wallpaper management tool written in Go. It supports multiple
+sources for fetching the background.
 
 *Note*: Cetus is a work in-progress & many features are yet to be implemented.
 
-* Features
-- set a specific photo as background
-- set a random photo as background
-- customize wallpaper size
+*Dependency*: [[https://feh.finalrewind.org/][feh]]
+
 * Demo
 I just run some cetus commands on my computer, nothing fancy. I'll make better
 demo videos someday.
 
+*Note*: Cetus was restructured multiple times & these demos may not work on the
+latest release.
+
 | Version | Video                                                                |
 |---------+----------------------------------------------------------------------|
 | v0.3.1  | https://diode.zone/videos/watch/0808c512-315a-4dab-9526-4a537e8c3257 |
 | v0.2.0  | https://diode.zone/videos/watch/12db31e1-3517-4888-ad06-55f3859447a1 |
-* Dependency
-- [[https://feh.finalrewind.org/][feh]]
-* Usage
-** photo-id
-photo-id flag can be used to set a specific photo as background.
-#+BEGIN_SRC sh
-cetus -width 1920 -height 1080 \
-      -photo-id=FzrjgIId6NU
-#+END_SRC
-** random
-random flag can be used to set a random photo as background, this is the default
-behaviour.
-#+BEGIN_SRC sh
-cetus -width 1920 -height 1080 \
-      -random
-
-cetus -width 1920 -height 1080 # same as above
-#+END_SRC
diff --git a/cmd/cetus/cetus.go b/cmd/cetus/cetus.go
deleted file mode 100644
index e6799c8..0000000
--- a/cmd/cetus/cetus.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2020, Andinus <andinus@inventati.org>
-
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-package main
-
-import (
-	"flag"
-	"log"
-
-	"framagit.org/andinus/cetus/pkg/unsplash"
-)
-
-func main() {
-	var (
-		photoID string
-		random  bool
-
-		width  int
-		height int
-
-		err error
-	)
-
-	flag.StringVar(&photoID, "photo-id", "", "Unsplash Photo ID to set as background")
-	flag.BoolVar(&random, "random", true, "Set a random photo as background")
-
-	flag.IntVar(&width, "width", 1920, "Width of the image")
-	flag.IntVar(&height, "height", 1080, "Height of the image")
-
-	flag.Parse()
-
-	if len(photoID) != 0 {
-		err = unsplash.SetFromID(photoID, width, height)
-		errChk(err)
-		return
-	}
-
-	if random {
-		err = unsplash.SetRandom(width, height)
-		errChk(err)
-		return
-	}
-}
-
-func errChk(err error) {
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/pkg/unsplash/unsplash.go b/pkg/unsplash/unsplash.go
deleted file mode 100644
index 7cd408a..0000000
--- a/pkg/unsplash/unsplash.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) 2020, Andinus <andinus@inventati.org>
-
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-package unsplash
-
-import (
-	"fmt"
-	"net/http"
-	"time"
-
-	"framagit.org/andinus/cetus/pkg"
-)
-
-// SetFromID sets background from Unsplash Photo ID
-func SetFromID(photoID string, width int, height int) error {
-	var path string
-	var err error
-
-	path = getPathFromID(photoID)
-	path = appendSizeToPath(path, width, height)
-	err = background.Set(path)
-	return err
-}
-
-// SetRandom sets a random photo as background
-func SetRandom(width int, height int) error {
-	var path string
-	var err error
-
-	path, err = getPathRandom(width, height)
-	if err != nil {
-		return err
-	}
-	err = background.Set(path)
-	return err
-}
-
-func getPathFromID(photoID string) string {
-	var path string
-	path = fmt.Sprintf("%s/%s", "https://source.unsplash.com", photoID)
-	return path
-}
-
-func getPathRandom(width int, height int) (string, error) {
-	var err error
-	var path string
-	var reqPath string
-
-	client := http.Client{
-		Timeout: time.Second * 64,
-	}
-
-	reqPath = "https://source.unsplash.com"
-	reqPath = appendSizeToPath(reqPath, width, height)
-
-	req, err := http.NewRequest(http.MethodGet, reqPath, nil)
-	if err != nil {
-		return "", err
-	}
-
-	res, err := client.Do(req)
-	if err != nil {
-		return "", err
-	}
-	defer res.Body.Close()
-
-	// Unsplash Source redirects to the photo
-	path = res.Request.URL.String()
-	return path, nil
-}
-
-func appendSizeToPath(path string, width int, height int) string {
-	var size string
-
-	size = fmt.Sprintf("%dx%d", width, height)
-	path = fmt.Sprintf("%s/%s", path, size)
-	return path
-}