def on_new_dm_received(self, data, stream=True): box = TweetBox(data, self.active_account) box.connect_signal( "tweet-favorited", lambda x, y, z: self.on_tweet_favorited(x, y, z)) box.connect_signal( "dm-destroy", lambda x, y: self.on_dm_destroy(x, y)) box.connect_signal("reply", lambda x: self.on_reply(x)) if data['sender']['screen_name'] == self.active_account.screen_name: GLib.idle_add(lambda: self.dm_outbox_list.append(box, stream)) else: GLib.idle_add(lambda: self.dm_inbox_list.append(box, stream)) self.downloader.add( {'url': data['sender']['profile_image_url'], 'box': box, 'type': 'avatar'}) try: for media in data['entities']['media']: self.downloader.add( {'url': media['media_url_https'], 'box': box, 'type': 'media'}) except: pass self.window.dm_img.set_from_icon_name('twitter-dm-urgent', Gtk.IconSize.LARGE_TOOLBAR) if stream and self.settings.get("notify_dm") == 'true': if data['sender']['screen_name'] != \ self.active_account.screen_name: self.notification.notify(_("New Direct Message from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']), urgency=2)
def on_new_mention_received(self, data, stream=True): if stream: self.add_to_list(data, self.activity_list, stream) self.window.mentions_img.set_from_icon_name('twitter-mentions-urgent', Gtk.IconSize.LARGE_TOOLBAR) if stream and self.settings.get("notify_mentions") == 'true': self.notification.notify(_("New mention from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']), urgency=2)
def on_new_mention_received(self, data, stream=True): if stream: self.add_to_list(data, self.activity_list, stream) self.window.mentions_img.set_from_icon_name( 'twitter-mentions-urgent', Gtk.IconSize.LARGE_TOOLBAR) if stream and self.settings.get("notify_mentions") == 'true': self.notification.notify( _("New mention from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']), urgency=2)
def on_new_tweet_received(self, data, stream=True): # add user to cache if self.users: self.users.add(data['user']['screen_name']) # we've got a mention if self.active_account.screen_name in data['text']: self.on_new_mention_received(data, stream) return self.add_to_list(data, self.home_tweet_list, stream) if stream and self.settings.get("notify_tweets") == 'true': self.notification.notify(_("New tweet from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']))
def on_event_received(self, data, stream=True): if 'event' in data and data['event'] == 'favorite'\ or data['event'] == 'unfavorite': if data['event'] == 'favorite': fav = _("favorited") else: fav = _("unfavorited") screen_name = data['source']['screen_name'] # if own favorite, add to list and return if screen_name == self.active_account.screen_name: #print data if data['event'] == 'favorite': data = data['target_object'] data['favorited'] = True self.add_to_list(data, self.favorites_list, stream) return name = data['source']['name'] profile = data['source']['profile_image_url'] data = data['target_object'] data['user']['name'] = name + " " + fav + " " + _("your tweet") data['user']['profile_image_url'] = profile data['user']['screen_name'] = screen_name self.add_to_list(data, self.activity_list, stream) if stream and self.settings.get("notify_events") == 'true': self.notification.notify(name + " " + fav + " " + _("a Tweet"), strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(profile)) if 'event' in data and data['event'] == 'follow' \ and data['source']['screen_name'] != self.active_account.screen_name: data['name'] = data['source']['name'] data['screen_name'] = data['source']['screen_name'] data['profile_image_url'] = data['source']['profile_image_url'] self.add_to_event(data, self.activity_list, stream) if stream and self.settings.get("notify_events") == 'true': self.notification.notify(_("You've got a new follower!'"), data['source']['name'] + " " + _("is now following you on Twitter"), BIRDIE_CACHE_PATH + os.path.basename(data['source']['profile_image_url']))
def on_event_received(self, data, stream=True): if 'event' in data and data['event'] == 'favorite'\ or data['event'] == 'unfavorite': if data['event'] == 'favorite': fav = _("favorited") else: fav = _("unfavorited") screen_name = data['source']['screen_name'] # if own favorite, add to list and return if screen_name == self.active_account.screen_name: #print data if data['event'] == 'favorite': data = data['target_object'] data['favorited'] = True self.add_to_list(data, self.favorites_list, stream) return name = data['source']['name'] profile = data['source']['profile_image_url'] data = data['target_object'] data['user']['name'] = name + " " + fav + " " + _("your tweet") data['user']['profile_image_url'] = profile data['user']['screen_name'] = screen_name self.add_to_list(data, self.activity_list, stream) if stream and self.settings.get("notify_events") == 'true': self.notification.notify( name + " " + fav + " " + _("a Tweet"), strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(profile)) if 'event' in data and data['event'] == 'follow' \ and data['source']['screen_name'] != self.active_account.screen_name: data['name'] = data['source']['name'] data['screen_name'] = data['source']['screen_name'] data['profile_image_url'] = data['source']['profile_image_url'] self.add_to_event(data, self.activity_list, stream) if stream and self.settings.get("notify_events") == 'true': self.notification.notify( _("You've got a new follower!'"), data['source']['name'] + " " + _("is now following you on Twitter"), BIRDIE_CACHE_PATH + os.path.basename(data['source']['profile_image_url']))
def on_new_tweet_received(self, data, stream=True): # add user to cache if self.users: self.users.add(data['user']['screen_name']) # we've got a mention if self.active_account.screen_name in data['text']: self.on_new_mention_received(data, stream) return self.add_to_list(data, self.home_tweet_list, stream) if stream and self.settings.get("notify_tweets") == 'true': self.notification.notify( _("New tweet from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']))
def set_context(self): # dm if self.dm and self.screen_name == "": self.set_title(_("New Direct Message")) self.on_buffer_changed(None) elif self.dm: self.set_title( _("New Direct Message in reply to @") + self.screen_name) # reply if self.id and not self.dm and not self.quote: self.set_title(_("In reply to @") + self.screen_name) mentions = "@" + self.screen_name + " " if self.user_mentions: for user in self.user_mentions: mentions += "@" + user['screen_name'] + " " self.buffer.set_text(mentions) self.on_buffer_changed(None) if self.quote: self.set_title(_("Retweet")) self.buffer.set_text("@" + self.screen_name + ' "' + strip_html(self.user_mentions) + '" ') self.on_buffer_changed(None)
def set_context(self): # dm if self.dm and self.screen_name == "": self.set_title(_("New Direct Message")) self.on_buffer_changed(None) elif self.dm: self.set_title(_("New Direct Message in reply to @") + self.screen_name) # reply if self.id and not self.dm and not self.quote: self.set_title(_("In reply to @") + self.screen_name) mentions = "@" + self.screen_name + " " if self.user_mentions: for user in self.user_mentions: mentions += "@" + user['screen_name'] + " " self.buffer.set_text(mentions) self.on_buffer_changed(None) if self.quote: self.set_title(_("Retweet")) self.buffer.set_text("@" + self.screen_name + ' "' + strip_html(self.user_mentions) + '" ') self.on_buffer_changed(None)
def on_new_dm_received(self, data, stream=True): box = TweetBox(data, self.active_account) box.connect_signal("tweet-favorited", lambda x, y, z: self.on_tweet_favorited(x, y, z)) box.connect_signal("dm-destroy", lambda x, y: self.on_dm_destroy(x, y)) box.connect_signal("reply", lambda x: self.on_reply(x)) if data['sender']['screen_name'] == self.active_account.screen_name: GLib.idle_add(lambda: self.dm_outbox_list.append(box, stream)) else: GLib.idle_add(lambda: self.dm_inbox_list.append(box, stream)) self.downloader.add({ 'url': data['sender']['profile_image_url'], 'box': box, 'type': 'avatar' }) try: for media in data['entities']['media']: self.downloader.add({ 'url': media['media_url_https'], 'box': box, 'type': 'media' }) except: pass self.window.dm_img.set_from_icon_name('twitter-dm-urgent', Gtk.IconSize.LARGE_TOOLBAR) if stream and self.settings.get("notify_dm") == 'true': if data['sender']['screen_name'] != \ self.active_account.screen_name: self.notification.notify( _("New Direct Message from ") + data['user']['name'], strip_html(data['text']), BIRDIE_CACHE_PATH + os.path.basename(data['user']['profile_image_url']), urgency=2)