def display_retweet(self, tweet): self.tweets[tweet["id"]] = tweet # print tweet['id'] print self.tweets[tweet["id"]] # print "%s: %s" % (tweet['user']['screen_name'], tweet['text']) text = self.parse_text(tweet["retweeted_status"]["text"], tweet["retweeted_status"]["entities"]) if tweet.get("quoted_status", None): text += self.display_quoted(tweet["quoted_status"]) if tweet["retweeted_status"].get("quoted_status", None): text += self.display_quoted(tweet["quoted_status"]) body = self.web_frame.findFirstElement("#timeline-home") body.prependInside( self.RETWEET_TEMPLATE.format( id=tweet["id"], avatar=tweet["retweeted_status"]["user"]["profile_image_url"], rt_by=tweet["user"]["screen_name"], username=tweet["retweeted_status"]["user"]["screen_name"], content=text, time=relativetime(tweet["created_at"]), source=tweet["retweeted_status"]["source"], ) )
def update_times(self): print "updating times" tweets = self.web_frame.findAllElements("div.tweet") for tweet in tweets: t = self.tweets[long(tweet.attribute("id")[1:])] meta = tweet.findFirst(".time") meta.setInnerXml(relativetime(t["created_at"])) tweets = self.web_frame.findAllElements("div.dm") for tweet in tweets: t = self.dms[long(tweet.attribute("id")[1:])] meta = tweet.findFirst(".time") # print 'dm %s' % t['direct_message']['id'] # print meta # print relativetime(t['direct_message']['created_at']) meta.setInnerXml(relativetime(t["direct_message"]["created_at"]))
def display_tweet(self, tweet): self.tweets[tweet["id"]] = tweet # print tweet['id'] print self.tweets[tweet["id"]] # print "%s: %s" % (tweet['user']['screen_name'], tweet['text']) text = self.parse_text(tweet["text"], tweet["entities"]) mention = False t_class = "" for user in tweet["entities"].get("user_mentions", []): if user["screen_name"] == conf.USERNAME: mention = True body = self.web_frame.findFirstElement("#timeline-mentions") body.prependInside( self.TWEET_TEMPLATE.format( klass="", id=tweet["id"], avatar=tweet["user"]["profile_image_url"], username=tweet["user"]["screen_name"], content=text, time=relativetime(tweet["created_at"]), source=tweet["source"], ) ) break if mention: t_class = "mention" if tweet.get("quoted_status", None): text += self.display_quoted(tweet["quoted_status"]) body = self.web_frame.findFirstElement("#timeline-home") body.prependInside( self.TWEET_TEMPLATE.format( klass=t_class, id=tweet["id"], avatar=tweet["user"]["profile_image_url"], username=tweet["user"]["screen_name"], content=text, time=relativetime(tweet["created_at"]), source=tweet["source"], ) )
def display_dm(self, tweet): self.dms[tweet["direct_message"]["id"]] = tweet print self.dms[tweet["direct_message"]["id"]] # print "%s: %s" % (tweet['direct_message']['sender']['screen_name'], tweet['direct_message']['text']) if tweet["direct_message"].get("entities"): text = self.parse_text(tweet["direct_message"]["text"], tweet["direct_message"].get("entities")) else: text = self.parse_regex(tweet["direct_message"]["text"]) body = self.web_frame.findFirstElement("#timeline-dms") if tweet["direct_message"]["sender"]["screen_name"] == self.username: body.prependInside( self.DM_FROM_TEMPLATE % ( tweet["direct_message"]["id"], tweet["direct_message"]["sender"]["profile_image_url"], tweet["direct_message"]["recipient"]["screen_name"], text, relativetime(tweet["direct_message"]["created_at"]), ) ) else: body.prependInside( self.DM_TEMPLATE % ( tweet["direct_message"]["id"], tweet["direct_message"]["sender"]["profile_image_url"], tweet["direct_message"]["sender"]["screen_name"], text, relativetime(tweet["direct_message"]["created_at"]), ) ) QSound.play("dm2.wav")
def display_quoted(self, tweet): self.tweets[tweet["id"]] = tweet # print tweet['id'] print self.tweets[tweet["id"]] # print "%s: %s" % (tweet['user']['screen_name'], tweet['text']) text = self.parse_text(tweet["text"], tweet["entities"]) body = self.web_frame.findFirstElement("#timeline-home") return self.QUOTE_TEMPLATE.format( klass="", id=tweet["id"], avatar=tweet["user"]["profile_image_url"], username=tweet["user"]["screen_name"], content=text, time=relativetime(tweet["created_at"]), source=tweet["source"], )