diff --git a/.gitignore b/.gitignore index 844ebf6..6376582 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.sh zorg.conf zorg +feeds.conf .vscode/* \ No newline at end of file diff --git a/createtoken/createtoken b/createtoken/createtoken new file mode 100755 index 0000000..2f366ca Binary files /dev/null and b/createtoken/createtoken differ diff --git a/createtoken/gettoken.go b/createtoken/gettoken.go new file mode 100644 index 0000000..d319f76 --- /dev/null +++ b/createtoken/gettoken.go @@ -0,0 +1,23 @@ +package main + +import ( + "context" + "fmt" + "log" + + "github.com/mattn/go-mastodon" +) + +func main() { + app, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{ + Server: "https://boseburo.ddns.net", + ClientName: "zorg", + Scopes: "read write follow", + Website: "https://git.keinpfusch.net/loweel/zorg.git", + }) + if err != nil { + log.Fatal(err) + } + fmt.Printf("client-id : %s\n", app.ClientID) + fmt.Printf("client-secret: %s\n", app.ClientSecret) +} diff --git a/feed.go b/feed.go index b03452a..7d8a7fe 100644 --- a/feed.go +++ b/feed.go @@ -26,6 +26,7 @@ func forwardLastFeed(url string) { } var b *gofeed.Item + var postAge time.Time if len(feed.Items) > 0 { b = feed.Items[0] @@ -34,7 +35,18 @@ func forwardLastFeed(url string) { return } - if time.Since(*b.PublishedParsed) < Zint { + postAge = time.Now() + log.Println("Post Age: ", postAge) + + if b.PublishedParsed != nil { + postAge = *b.PublishedParsed + } else { + postAge = *b.UpdatedParsed + } + + log.Println("Post Age: ", postAge) + + if time.Since(postAge) < Zint { postOnMastodon(b.Link, "["+feed.Title+"] "+b.Title) log.Println("New content from: ", feed.Title, b.Title) @@ -44,7 +56,7 @@ func forwardLastFeed(url string) { } -//but we need to iterate on feeds.... +// but we need to iterate on feeds.... func feedDaemon() { ticker := time.NewTicker(Zint) diff --git a/feeds.conf b/feeds.conf index 06c4db1..0082df1 100644 --- a/feeds.conf +++ b/feeds.conf @@ -1,10 +1,5 @@ -https://www.youtube.com/feeds/videos.xml?channel_id=UCDmCBKaKOtOrEqgsL4-3C8Q -https://www.youtube.com/feeds/videos.xml?channel_id=UCYcXk-yEg9LgyAPm7mpIs-g -https://www.youtube.com/feeds/videos.xml?channel_id=UCNvsIonJdJ5E4EXMa65VYpA -https://www.youtube.com/feeds/videos.xml?channel_id=UCeYbbVx7CQn6tbkkmpPldTg -https://www.youtube.com/feeds/videos.xml?channel_id=UCvKejuca1oOhFRXpZpSn3ew -https://blog.soykaf.com/post/index.xml -https://blog.golang.org/feed.atom -https://writings.stephenwolfram.com/feed/ -https://www.youtube.com/feeds/videos.xml?channel_id=UCwUizOU8pPWXdXNniXypQEQ -https://www.youtube.com/feeds/videos.xml?channel_id=UCuCYsYBaq3j0gM4wWo82LkQ \ No newline at end of file +https://keinpfusch.net/feed.xml +https://git.keinpfusch.net/loweel/zangtumb.rss +https://git.keinpfusch.net/loweel/zoreide.rss +https://git.keinpfusch.net/loweel/zorg.rss +https://git.keinpfusch.net/loweel/zabov.rss \ No newline at end of file diff --git a/feeds.conf.example b/feeds.conf.example new file mode 100644 index 0000000..06c4db1 --- /dev/null +++ b/feeds.conf.example @@ -0,0 +1,10 @@ +https://www.youtube.com/feeds/videos.xml?channel_id=UCDmCBKaKOtOrEqgsL4-3C8Q +https://www.youtube.com/feeds/videos.xml?channel_id=UCYcXk-yEg9LgyAPm7mpIs-g +https://www.youtube.com/feeds/videos.xml?channel_id=UCNvsIonJdJ5E4EXMa65VYpA +https://www.youtube.com/feeds/videos.xml?channel_id=UCeYbbVx7CQn6tbkkmpPldTg +https://www.youtube.com/feeds/videos.xml?channel_id=UCvKejuca1oOhFRXpZpSn3ew +https://blog.soykaf.com/post/index.xml +https://blog.golang.org/feed.atom +https://writings.stephenwolfram.com/feed/ +https://www.youtube.com/feeds/videos.xml?channel_id=UCwUizOU8pPWXdXNniXypQEQ +https://www.youtube.com/feeds/videos.xml?channel_id=UCuCYsYBaq3j0gM4wWo82LkQ \ No newline at end of file diff --git a/zorg.go b/zorg.go index 83eb50a..b6fb968 100644 --- a/zorg.go +++ b/zorg.go @@ -3,6 +3,7 @@ package main import ( "os" "os/signal" + "syscall" ) func main() { @@ -10,7 +11,7 @@ func main() { // Just a nice way to wait until the Operating system sends a kill signal. // select{} was just horrible. c := make(chan os.Signal, 1) - signal.Notify(c, os.Interrupt, os.Kill) + signal.Notify(c, os.Interrupt, syscall.SIGTERM) <-c os.Exit(0)