From 0a0e9fb2ae97e4fad730855ea1c36c97e5db79c6 Mon Sep 17 00:00:00 2001 From: jem Date: Fri, 22 May 2020 10:14:04 +0200 Subject: [PATCH] fix screen name & add untrimmed option --- src/main/mastodon_bot/transform.cljs | 26 ++++++++++++++++---------- src/main/mastodon_bot/twitter_api.cljs | 1 + 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/mastodon_bot/transform.cljs b/src/main/mastodon_bot/transform.cljs index 86cb598..97f0770 100644 --- a/src/main/mastodon_bot/transform.cljs +++ b/src/main/mastodon_bot/transform.cljs @@ -8,9 +8,13 @@ (s/def ::created-at any?) (s/def ::text string?) +(s/def ::untrimmed-text string?) (s/def ::media-links string?) (s/def ::screen_name string?) -(def element? (s/keys :req-un [::created-at ::text ::media-links ::screen_name])) +(def input? (s/keys :req-un [::created-at ::text ::screen_name] + :opt-un [::media-links ::untrimmed-text])) +(def mastodon-output? (s/keys :req-un [::created-at ::text] + :opt-un [::media-links])) (defn trim-text [text max-post-length] (cond @@ -26,17 +30,19 @@ (str text " " word))) "" (string/split text #" ")) - + :else text)) -(defn-spec to-mastodon any? +(defn-spec to-mastodon mastodon-output? [mastodon-config masto/mastodon-config? - input element?] - (let [{:keys [created-at text media-links screen_name]} input] + input input?] + (let [{:keys [created-at text media-links screen_name untrimmed-text]} input] {:created-at created-at - :text (trim-text - (str text - (if (masto/append-screen-name? mastodon-config) - (str "\n - " screen_name) "")) - (masto/max-post-length mastodon-config)) + :text (str (trim-text + text + (masto/max-post-length mastodon-config)) + (if (some? untrimmed-text) + (str " " untrimmed-text) "") + (if (masto/append-screen-name? mastodon-config) + (str "\n - " screen_name) "")) :media-links media-links})) \ No newline at end of file diff --git a/src/main/mastodon_bot/twitter_api.cljs b/src/main/mastodon_bot/twitter_api.cljs index bcae2f0..0a98588 100755 --- a/src/main/mastodon_bot/twitter_api.cljs +++ b/src/main/mastodon_bot/twitter_api.cljs @@ -47,6 +47,7 @@ {:keys [screen_name]} :user :as tweet}] {:created-at (js/Date. created-at) :text (chop-tail-media-url text media) + :screen_name screen_name :media-links (keep #(when (= (:type %) "photo") (:media_url_https %)) media)}) (defn-spec user-timeline any?