35 lines
962 B
Plaintext
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"))
|