Exemple #1
0
    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"],
            )
        )
Exemple #2
0
    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"]))
Exemple #3
0
    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"],
            )
        )
Exemple #4
0
    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")
Exemple #5
0
    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"],
        )