aboutsummaryrefslogtreecommitdiffstats
path: root/main.go
diff options
context:
space:
mode:
authorAdam Mathes <adam@trenchant.org>2017-01-23 20:04:03 -0800
committerAdam Mathes <adam@trenchant.org>2017-01-23 20:04:03 -0800
commit93d6d36eb697cd9452eb4aab446151a1a33ed245 (patch)
treec9cb88718d03a6964f6d3705066f11d356257d37 /main.go
downloadneko-93d6d36eb697cd9452eb4aab446151a1a33ed245.tar.gz
neko-93d6d36eb697cd9452eb4aab446151a1a33ed245.tar.bz2
neko-93d6d36eb697cd9452eb4aab446151a1a33ed245.zip
neko v2 initial commit
Diffstat (limited to 'main.go')
-rw-r--r--main.go63
1 files changed, 63 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..255b194
--- /dev/null
+++ b/main.go
@@ -0,0 +1,63 @@
+package main
+
+import (
+ "os"
+ "neko/config"
+ "neko/models"
+ "neko/models/feed"
+ "neko/crawler"
+ "neko/importer"
+ "fmt"
+ // "io/ioutil"
+ "log"
+ // "neko/models/item"
+ // "neko/util"
+ "neko/web"
+)
+
+func main() {
+
+ // FIX
+ config.Read("./config.json")
+
+ models.InitDB(config.Config.DBServer)
+ if len(os.Args) < 2 {
+ fmt.Printf("usage: neko [web|addfeed|crawl]\n")
+ fmt.Printf("addfeed <url> -- add a new feed from <url>\n")
+ return
+ }
+ cmd := os.Args[1]
+ switch cmd {
+ case "web":
+ log.Printf("starting web server at %s", config.Config.WebServer)
+ web.Serve()
+ case "addfeed":
+ addFeed()
+ case "crawl":
+ crawl()
+ case "import":
+ importLegacy()
+ default:
+ panic("not a valid command")
+ }
+}
+
+
+func addFeed() {
+ if len(os.Args) < 2 {
+ log.Fatal("need a valid url")
+ }
+ url := os.Args[2]
+ feed.NewFeed(url)
+}
+
+func importLegacy() {
+ json_file := os.Args[2]
+ log.Printf("importing json file from: %s", json_file)
+ importer.ImportJSON(json_file)
+}
+
+
+func crawl() {
+ crawler.Crawl()
+}