aboutsummaryrefslogtreecommitdiff
path: root/modules/tweets/format.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-27 14:52:08 +0100
committerGravatar jesopo2019-05-27 14:52:08 +0100
commit76b268e60e5274bed38659fe0cfd723172cc0218 (patch)
tree716346363bb43af84b8d60fe7849d3ee1d7d2f58 /modules/tweets/format.py
parentset `changed = True` when we pop a module with no dependencies left (diff)
signature
Switch to using tweepy for tweets module
Diffstat (limited to 'modules/tweets/format.py')
-rw-r--r--modules/tweets/format.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/tweets/format.py b/modules/tweets/format.py
new file mode 100644
index 00000000..c41fde17
--- /dev/null
+++ b/modules/tweets/format.py
@@ -0,0 +1,35 @@
+import datetime, html, time
+from src import utils
+
+def _timestamp(dt):
+ seconds_since = time.time()-dt.timestamp()
+ since, unit = utils.time_unit(seconds_since)
+ return "%s %s ago" % (since, unit)
+
+def _tweet(exports, tweet):
+ linked_id = tweet.id
+ username = tweet.user.screen_name
+
+ verified = ""
+ if tweet.user.verified:
+ verified = " %s" % utils.irc.color("✓", utils.consts.LIGHTBLUE)
+
+ tweet_link = "https://twitter.com/%s/status/%s" % (username,
+ linked_id)
+
+ short_url = exports.get_one("shortlink")(tweet_link)
+ short_url = " - %s" % short_url if short_url else ""
+ created_at = _timestamp(tweet.created_at)
+
+ # having to use hasattr here is nasty.
+ if hasattr(tweet, "retweeted_status"):
+ original_username = tweet.retweeted_status.user.screen_name
+ original_text = tweet.retweeted_status.text
+ original_timestamp = _timestamp(tweet.retweeted_status.created_at)
+ return "(@%s%s (%s) retweeted @%s (%s)) %s%s" % (username, verified,
+ created_at, original_username, original_timestamp,
+ html.unescape(original_text), short_url)
+ else:
+ return "(@%s%s, %s) %s%s" % (username, verified, created_at,
+ html.unescape(tweet.text), short_url)
+