'TwitterStream.queue will populate with Result objects as
TwitterStream.update() is called iteratively.'

def parse(self, data):

    if data.strip():
        x = json.loads(data)
        r = Result(url=None)
        r.id = self.format(x.get('id_str'))
        r.url = self.format((TWITTER_STATUS % (x.get('user', {}).get('screen_name'), x.get('id_str'))))
        r.text = self.format(x.get('text'))
        r.date = self.format(x.get('created_at'))
        r.author = self.format(x.get('user', {}).get('screen_name'))
        r.language = self.format(x.get('metadata', {}).get('iso_language_code'))
        r.shares = self.format(x.get('retweet_count', 0))
        r.profile = self.format(x.get('user', {}).get('profile_image_url'))
        rt = x.get('retweeted_status', None)
        if rt:
            comment = re.search('^(.*?    )RT', r.text)
            comment = (comment.group(1) if comment else '')
            r.text = self.format(('RT    @%s:    %s' % (rt['user']['screen_name'], rt['text'])))
        return r
