aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorÖzgür Kesim <oec@codeblau.de>2023-12-27 03:06:11 +0100
committerÖzgür Kesim <oec@codeblau.de>2023-12-27 03:06:11 +0100
commitbd0f83f4257c5e53af32d6ffe0935785fcde3acf (patch)
tree6b968cd10d60629081041ec1895b4c5564f9390c /main.go
init
Diffstat (limited to 'main.go')
-rw-r--r--main.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..f93cbda
--- /dev/null
+++ b/main.go
@@ -0,0 +1,57 @@
+package main
+
+import (
+ "context"
+ "flag"
+ "fmt"
+ "log"
+ "net/http"
+ "os"
+ "time"
+)
+
+var (
+ fl_url = flag.String("url", "https://bugs.gnunet.org/api/rest/issues", "URL to the issues")
+ fl_token = flag.String("token", os.Getenv("MANTIS_API_TOKEN"), "API-Token")
+ fl_port = flag.String("port", ":8080", "[ip]:port to serve")
+ fl_num = flag.Int("num", 100, "number of issues to retrieve at once")
+ fl_min = flag.String("min", "0.9.3", "minimum version for data")
+)
+
+func main() {
+ flag.Parse()
+ fmt.Println("starting")
+
+ var ctx = context.Background()
+ var data = NewData(ctx, *fl_url, *fl_token, *fl_num)
+ data.filterId = 230
+ data.projectId = 23
+ data.minimumVersion = *fl_min
+
+ data.update()
+ go func() {
+ var ticker = time.NewTicker(15 * time.Second)
+ for range ticker.C {
+ select {
+ case <-ctx.Done():
+ return
+ default:
+ fmt.Println("updating data")
+ data.update()
+ }
+ }
+ }()
+
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+ data.printTemplate(w, "table.tmpl")
+ })
+ http.HandleFunc("/list", func(w http.ResponseWriter, r *http.Request) {
+ data.printTemplate(w, "list.tmpl")
+ })
+ http.HandleFunc("/json", func(w http.ResponseWriter, r *http.Request) {
+ data.printJSON(w)
+ })
+ fmt.Println("ready to serve")
+
+ log.Fatal(http.ListenAndServe(*fl_port, nil))
+}