From b774884cced2b0389bccef92a33ac41d32bc7c6b Mon Sep 17 00:00:00 2001 From: Andros Fenollosa Date: Sun, 4 Aug 2019 11:08:33 +0200 Subject: [PATCH] Update comments --- src/isahn/core.clj | 51 +++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/src/isahn/core.clj b/src/isahn/core.clj index 8d9b3bc..5908653 100644 --- a/src/isahn/core.clj +++ b/src/isahn/core.clj @@ -8,19 +8,19 @@ ;; VARIABLES -" URL send for Telegram " +;; URL send for Telegram (def url_telegram_send (str "https://api.telegram.org/" (:bot_token env) "/sendMessage")) -" URLs from API Hacker News " +;; URLs from API Hacker News (def url_all_stories "https://hacker-news.firebaseio.com/v0/topstories.json") -" Min score " +;; Min score (def min_score (:min_score env)) -" Now unixtime " +;; Now unixtime (def now (quot (System/currentTimeMillis) 1000)) -" 24h in unixtime " +;; 24h in unixtime (def unixtime24h 86400) -" Now - 24h " +;; Now - 24h (def min_time (- now unixtime24h)) -" Path file save history " +;; Path file save history (def path_history "isahn_history.json") (def history (if (.exists (io/file path_history)) (json/parse-string (slurp (io/file path_history)) true) (str ""))) (def history_ids (map :id history)) @@ -35,23 +35,23 @@ (defn get_all_stories " Get all stories " [url_all_stories] - " Get all ids stories " - (let [ids_stories (json/parse-string (:body (client/get url_all_stories {:accept :json})))] - " Get all API urls stories " - (let [urls_stories (map one_story ids_stories)] - " Get all data stories " - (map #(json/parse-string (:body (client/get % {:accept :json}))) urls_stories)))) + ;; Get all ids stories + (let [ids_stories (json/parse-string (:body (client/get url_all_stories {:accept :json}))) + urls_stories (map one_story ids_stories)] + ;; Get all API urls stories + ;; Get all data stories + (map #(json/parse-string (:body (client/get % {:accept :json}))) urls_stories))) (defn lazy-contains? [col key] (some #{key} col)) (defn set-interval - " Run function every ms " + "Run function every ms" [callback ms] (future (while true (do (Thread/sleep ms) (callback))))) (defn add_history - " Add to file history news_stories " + "Add to file history news_stories" [news_stories] (let [history_news_ids (concat history_ids (map #(get-in % ["id"]) news_stories)) history_all (map #(assoc {} :id %) (vec history_news_ids))] @@ -59,19 +59,18 @@ (.write w (json/generate-string history_all))))) (defn filter_stories - " Filter stories by last 24h, remove histories and lower score " + "Filter stories by last 24h, remove histories and lower score" [stories] - " Filter created less 24h " - (let [stories_24h (filter #(> (get-in % ["time"]) min_time) stories)] + ;; Filter created less 24h + (let [stories_24h (filter #(> (get-in % ["time"]) min_time) stories) + ;; Filter history + stories_without_histories (filter #(not (lazy-contains? history_ids (get-in % ["id"]))) stories_24h)] - " Filter history " - (let [stories_without_histories (filter #(not (lazy-contains? history_ids (get-in % ["id"]))) stories_24h)] - - " Filter with score min_score " - (filter #(> (get-in % ["score"]) min_score) stories_without_histories)))) + ;; Filter with score min_score + (filter #(> (get-in % ["score"]) min_score) stories_without_histories))) (defn send_stories_telegram - " Send stories by Telegram Channel " + "Send stories by Telegram Channel" [stories] (if (not-empty stories) (doall (iterate #((client/post url_telegram_send {:body (json/generate-string {:chat_id (:chat env) :text (str (get-in % ["title"]) ": " (get-in % ["url"])) @@ -89,7 +88,7 @@ (defn -main "Main execution" [] - " Run first time " + ;; Run first time (check_stories) - " Run every :run_every_miliseconds " + ;; Run every :run_every_miliseconds (set-interval check_stories (:run_every_miliseconds env)))