--- gwibber-3.0.0.1/gwibber/microblog/plugins/twitter/__init__.py 2011-04-05 16:06:50.000000000 -0500
+++ gwibber-3.0.0.1.mod/gwibber/microblog/plugins/twitter/__init__.py 2011-05-17 15:19:51.000000000 -0500
@@ -75,18 +75,21 @@
def _common(self, data):
m = {};
try:
+ tweetText = data["text"]
+ if "retweeted_status" in data:
+ tweetText = data["retweeted_status"]["text"]
m["mid"] = str(data["id"])
m["service"] = "twitter"
m["account"] = self.account["id"]
m["time"] = util.parsetime(data["created_at"])
- m["text"] = unescape(data["text"])
- m["to_me"] = ("@%s" % self.account["username"]) in data["text"]
+ m["text"] = unescape(tweetText)
+ m["to_me"] = ("@%s" % self.account["username"]) in tweetText
- m["html"] = util.linkify(data["text"],
+ m["html"] = util.linkify(tweetText,
((util.PARSE_HASH, '#\\1' % URL_PREFIX),
(util.PARSE_NICK, '@\\1' % URL_PREFIX)), escape=False)
- m["content"] = util.linkify(data["text"],
+ m["content"] = util.linkify(tweetText,
((util.PARSE_HASH, '#\\1' % m["account"]),
(util.PARSE_NICK, '@\\1' % m["account"])), escape=False)
@@ -134,7 +137,9 @@
else:
m["reply"]["url"] = None
- m["sender"] = self._user(data["user"] if "user" in data else data["sender"])
+ if "retweeted_status" in data:
+ m["retweeter"] = self._user(data["user"] if "user" in data else data["sender"])
+ m["sender"] = self._user(data["retweeted_status"]["user"] if "retweeted_status" in data else (data["user"] if "user" in data else data["sender"]))
m["url"] = "/".join((m["sender"]["url"], "statuses", str(m["mid"])))
return m
--- gwibber-3.0.0.1/ui/templates/base.mako 2011-04-05 16:06:50.000000000 -0500
+++ gwibber-3.0.0.1.mod/ui/templates/base.mako 2011-05-17 15:24:04.000000000 -0500
@@ -198,6 +198,11 @@
${_("in reply to")} ${data['reply']['nick']}
% endif
% endif
+ % if data.get("retweeter", {}).get("nick", 0):
+ % if data.get("retweeter", {}).get("url", 0):
+ ${_("RT by")} ${data['retweeter']['nick']}
+ % endif
+ % endif
%def>
<%def name="sender(data)" filter="trim">