From d20eea8691162bf0bbdde9e99831aa41e24872b0 Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Sat, 3 Sep 2022 13:22:41 +1000 Subject: [PATCH] also flatten tags to be a list of strings --- src/dhyan/connections/wallabag.clj | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/dhyan/connections/wallabag.clj b/src/dhyan/connections/wallabag.clj index d006868..d7fe65d 100644 --- a/src/dhyan/connections/wallabag.clj +++ b/src/dhyan/connections/wallabag.clj @@ -46,17 +46,24 @@ "&detail=" detail)] link))) +(defn flatten-tags + [entry] + (let [tags (get entry :tags) + labels (mapv #(get % :label) tags)] + (assoc entry :tags labels))) + (defn select-useful-keys "Given a list of *entries* filter out all the garbage keys" [entries] (let [useful-keys [:tags :title :url :annotations :id]] - (mapv #(select-keys % useful-keys) entries))) + (->> (mapv #(select-keys % useful-keys) entries) + (mapv #(flatten-tags %))))) (defn flatten-annotation [annotations] - (-> (mapv #(flatten (seq %)) annotations) - (flatten) - (->> (filter #(not (keyword? %)))) + (-> (mapv #(flatten (seq %)) annotations) ; flatten the nested maps into nested lists + (flatten) ; flatten the nested lists into one big list + (->> (filter #(not (keyword? %)))) ; we only want strings (vec))) (defn select-useful-annotation-keys