janet-mastodon-bookmarks/main.janet
2024-06-22 09:27:25 +02:00

35 lines
962 B
Plaintext

(import httprequest :as r)
(import spork/json :as json)
(def url "https://hachyderm.io/api/v1/bookmarks")
(def auth "REDACTED")
(defn download-bookmarks []
"Downloads the bookmarks and saves them to a file."
(def response
(r/get url {"Authorization" (string "Bearer " auth)} {}))
(def links ((response :headers) "Link"))
(pp links)
(def bookmarks (json/decode (response :body)))
(def fout (file/open "./response.json" :w))
(file/write fout (json/encode bookmarks)))
(defn write-markdown [item]
(def id (item "id"))
(def fout (file/open (string "./" id ".md") :w))
(file/write fout (item "content"))
(file/close fout))
(defn write-files []
"Writes the bookmarks to files."
(def fin (file/open "./response.json" :r))
(print (file/read fin :all))
(def bookmarks (json/decode (file/read fin :all)))
(each item bookmarks
(write-markdown item)))
(defn main [& args]
(download-bookmarks)
# (write-files)
(print "ok"))