--- 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 name="sender(data)" filter="trim">