summaryrefslogtreecommitdiff
path: root/comitium.go
diff options
context:
space:
mode:
authornytpu <alex@nytpu.com>2021-03-18 11:08:03 -0600
committernytpu <alex@nytpu.com>2021-03-18 11:08:03 -0600
commitcace315effed4d3f85b89d83ac4b10f72a6af8f1 (patch)
treeb2852c396dbdb1a35a417b3afb8860e862b593d7 /comitium.go
parentb0cbb4e380617a84fd560637bd81a2ee59303dc2 (diff)
start building out different commands in main()
Diffstat (limited to 'comitium.go')
-rw-r--r--comitium.go58
1 files changed, 53 insertions, 5 deletions
diff --git a/comitium.go b/comitium.go
index b5c4524..9a8bae6 100644
--- a/comitium.go
+++ b/comitium.go
@@ -8,12 +8,14 @@ package main
import (
"fmt"
+ "net/url"
"os"
"path/filepath"
"github.com/mitchellh/go-homedir"
"golang.nytpu.com/comitium/core"
+ "golang.nytpu.com/comitium/fetch"
)
func main() {
@@ -54,14 +56,60 @@ func main() {
switch os.Args[1] {
case "refresh":
- fmt.Println("Refresh")
+ if len(c.Args()) != 0 {
+ fmt.Fprint(os.Stderr, "\"refresh\" doesn't take an argument!\n\n")
+ usage()
+ os.Exit(1)
+ }
+ // TODO
+ fmt.Fprintln(os.Stderr, "Not Yet Implemented")
case "list":
- fmt.Println("List")
+ if len(c.Args()) != 0 {
+ fmt.Fprint(os.Stderr, "\"list\" doesn't take an argument!\n\n")
+ usage()
+ os.Exit(1)
+ }
+ // TODO
+ fmt.Fprintln(os.Stderr, "Not Yet Implemented")
case "add":
- fmt.Println("Add")
- fmt.Printf("Format: %v\n", *addTypeFlag)
+ if len(c.Args()) < 1 {
+ fmt.Fprint(os.Stderr, "Please provide a URL to add.\n\n")
+ usage()
+ os.Exit(1)
+ }
+ remote, err := url.Parse(c.Arg(0))
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error parsing URL: %v\n", err)
+ os.Exit(1)
+ }
+ if !*addTypeFlag {
+ // feed
+ err = fetch.Feed(&core.Data, remote, c.Arg(1))
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error adding feed: %v\n", err)
+ os.Exit(1)
+ }
+ } else {
+ // page
+ err = fetch.Page(&core.Data, remote, c.Arg(1))
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error adding page: %v\n", err)
+ os.Exit(1)
+ }
+ }
+ err = core.Data.WriteJSON(dataPath)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error writing json: %v\n", err)
+ os.Exit(1)
+ }
case "remove":
- fmt.Println("Remove")
+ if len(c.Args()) < 1 {
+ fmt.Fprint(os.Stderr, "Please provide a URL to remove.\n\n")
+ usage()
+ os.Exit(1)
+ }
+ // TODO
+ fmt.Fprintln(os.Stderr, "Not Yet Implemented")
}
}