mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-26 12:53:12 -06:00
Add pubsub events by using twitter's namespace to separate services
This commit is contained in:
parent
39fb5b4830
commit
2fe9c35c0b
@ -69,7 +69,7 @@ class DirectMessagesBuffer(base.BaseBuffer):
|
|||||||
self.session.db["sent_direct_messages"] = sent_dms
|
self.session.db["sent_direct_messages"] = sent_dms
|
||||||
user_ids = [item.message_create["sender_id"] for item in items]
|
user_ids = [item.message_create["sender_id"] for item in items]
|
||||||
self.session.save_users(user_ids)
|
self.session.save_users(user_ids)
|
||||||
pub.sendMessage("more-sent-dms", data=sent, account=self.session.db["user_name"])
|
pub.sendMessage("twitter.more_sent_dms", data=sent, account=self.session.db["user_name"])
|
||||||
selected = self.buffer.list.get_selected()
|
selected = self.buffer.list.get_selected()
|
||||||
if self.session.settings["general"]["reverse_timelines"] == True:
|
if self.session.settings["general"]["reverse_timelines"] == True:
|
||||||
for i in received:
|
for i in received:
|
||||||
|
@ -101,25 +101,25 @@ class Controller(object):
|
|||||||
""" Binds the local application events with their functions."""
|
""" Binds the local application events with their functions."""
|
||||||
log.debug("Binding other application events...")
|
log.debug("Binding other application events...")
|
||||||
pub.subscribe(self.buffer_title_changed, "buffer-title-changed")
|
pub.subscribe(self.buffer_title_changed, "buffer-title-changed")
|
||||||
pub.subscribe(self.manage_sent_dm, "sent-dm")
|
pub.subscribe(self.manage_sent_dm, "twitter.sent_dm")
|
||||||
widgetUtils.connect_event(self.view, widgetUtils.CLOSE_EVENT, self.exit_)
|
widgetUtils.connect_event(self.view, widgetUtils.CLOSE_EVENT, self.exit_)
|
||||||
pub.subscribe(self.logout_account, "logout")
|
pub.subscribe(self.logout_account, "logout")
|
||||||
pub.subscribe(self.login_account, "login")
|
pub.subscribe(self.login_account, "login")
|
||||||
pub.subscribe(self.execute_action, "execute-action")
|
pub.subscribe(self.execute_action, "execute-action")
|
||||||
pub.subscribe(self.search_topic, "search")
|
pub.subscribe(self.search_topic, "search")
|
||||||
pub.subscribe(self.update_sent_dms, "sent-dms-updated")
|
pub.subscribe(self.update_sent_dms, "twitter.sent_dms_updated")
|
||||||
pub.subscribe(self.more_dms, "more-sent-dms")
|
pub.subscribe(self.more_dms, "twitter.more_sent_dms")
|
||||||
pub.subscribe(self.manage_sent_tweets, "sent-tweet")
|
pub.subscribe(self.manage_sent_tweets, "twitter.sent_tweet")
|
||||||
pub.subscribe(self.manage_new_tweet, "newTweet")
|
pub.subscribe(self.manage_new_tweet, "twitter.new_tweet")
|
||||||
pub.subscribe(self.manage_friend, "friend")
|
pub.subscribe(self.manage_friend, "twitter.friend")
|
||||||
pub.subscribe(self.manage_unfollowing, "unfollowing")
|
pub.subscribe(self.manage_unfollowing, "twitter.unfollowing")
|
||||||
pub.subscribe(self.manage_favourite, "favourite")
|
pub.subscribe(self.manage_favourite, "twitter.favourite")
|
||||||
pub.subscribe(self.manage_unfavourite, "unfavourite")
|
pub.subscribe(self.manage_unfavourite, "twitter.unfavourite")
|
||||||
pub.subscribe(self.manage_blocked_user, "blocked-user")
|
pub.subscribe(self.manage_blocked_user, "twitter.blocked_user")
|
||||||
pub.subscribe(self.manage_unblocked_user, "unblocked-user")
|
pub.subscribe(self.manage_unblocked_user, "twitter.unblocked_user")
|
||||||
pub.subscribe(self.create_buffer, "createBuffer")
|
pub.subscribe(self.create_buffer, "createBuffer")
|
||||||
pub.subscribe(self.toggle_share_settings, "toggleShare")
|
pub.subscribe(self.toggle_share_settings, "toggleShare")
|
||||||
pub.subscribe(self.restart_streaming, "restartStreaming")
|
pub.subscribe(self.restart_streaming, "twitter.restart_streaming")
|
||||||
pub.subscribe(self.invisible_shorcuts_changed, "invisible-shorcuts-changed")
|
pub.subscribe(self.invisible_shorcuts_changed, "invisible-shorcuts-changed")
|
||||||
pub.subscribe(self.create_account_buffer, "core.create_account")
|
pub.subscribe(self.create_account_buffer, "core.create_account")
|
||||||
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.show_hide, menuitem=self.view.show_hide)
|
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.show_hide, menuitem=self.view.show_hide)
|
||||||
@ -285,6 +285,8 @@ class Controller(object):
|
|||||||
if handler != None and hasattr(handler, "create_buffers"):
|
if handler != None and hasattr(handler, "create_buffers"):
|
||||||
handler.create_buffers(session=session, controller=self, createAccounts=False)
|
handler.create_buffers(session=session, controller=self, createAccounts=False)
|
||||||
self.start_buffers(session)
|
self.start_buffers(session)
|
||||||
|
if hasattr(session, "start_streaming"):
|
||||||
|
session.start_streaming()
|
||||||
|
|
||||||
def create_account_buffer(self, name, session_id, logged=False):
|
def create_account_buffer(self, name, session_id, logged=False):
|
||||||
self.accounts.append(name)
|
self.accounts.append(name)
|
||||||
|
@ -29,42 +29,42 @@ class userActionsController(object):
|
|||||||
def follow(self, user):
|
def follow(self, user):
|
||||||
try:
|
try:
|
||||||
self.session.twitter.create_friendship(screen_name=user )
|
self.session.twitter.create_friendship(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
def unfollow(self, user):
|
def unfollow(self, user):
|
||||||
try:
|
try:
|
||||||
id = self.session.twitter.destroy_friendship(screen_name=user )
|
id = self.session.twitter.destroy_friendship(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
def mute(self, user):
|
def mute(self, user):
|
||||||
try:
|
try:
|
||||||
id = self.session.twitter.create_mute(screen_name=user )
|
id = self.session.twitter.create_mute(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
def unmute(self, user):
|
def unmute(self, user):
|
||||||
try:
|
try:
|
||||||
id = self.session.twitter.destroy_mute(screen_name=user )
|
id = self.session.twitter.destroy_mute(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
def report(self, user):
|
def report(self, user):
|
||||||
try:
|
try:
|
||||||
id = self.session.twitter.report_spam(screen_name=user )
|
id = self.session.twitter.report_spam(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
def block(self, user):
|
def block(self, user):
|
||||||
try:
|
try:
|
||||||
id = self.session.twitter.create_block(screen_name=user )
|
id = self.session.twitter.create_block(screen_name=user )
|
||||||
pub.sendMessage("restartStreaming", session=self.session.session_id)
|
pub.sendMessage("twitter.restart_streaming", session=self.session.session_id)
|
||||||
except TweepyException as err:
|
except TweepyException as err:
|
||||||
output.speak("Error %s" % (str(err)), True)
|
output.speak("Error %s" % (str(err)), True)
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ class Session(base.baseSession):
|
|||||||
incoming = incoming+1
|
incoming = incoming+1
|
||||||
self.db["direct_messages"] = objects
|
self.db["direct_messages"] = objects
|
||||||
self.db["sent_direct_messages"] = sent_objects
|
self.db["sent_direct_messages"] = sent_objects
|
||||||
pub.sendMessage("sent-dms-updated", total=sent, session_name=self.get_name())
|
pub.sendMessage("twitter.sent_dms_updated", total=sent, session_name=self.get_name())
|
||||||
return incoming
|
return incoming
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@ -125,8 +125,8 @@ class Session(base.baseSession):
|
|||||||
# If we wouldn't implement this approach, TWBlue would save permanently the "deleted user" object.
|
# If we wouldn't implement this approach, TWBlue would save permanently the "deleted user" object.
|
||||||
self.deleted_users = {}
|
self.deleted_users = {}
|
||||||
self.type = "twitter"
|
self.type = "twitter"
|
||||||
pub.subscribe(self.handle_new_status, "newStatus")
|
pub.subscribe(self.handle_new_status, "twitter.new_status")
|
||||||
pub.subscribe(self.handle_connected, "streamConnected")
|
pub.subscribe(self.handle_connected, "twitter.stream_connected")
|
||||||
|
|
||||||
# @_require_configuration
|
# @_require_configuration
|
||||||
def login(self, verify_credentials=True):
|
def login(self, verify_credentials=True):
|
||||||
@ -600,7 +600,7 @@ class Session(base.baseSession):
|
|||||||
status = self.check_quoted_status(status)
|
status = self.check_quoted_status(status)
|
||||||
status = self.check_long_tweet(status)
|
status = self.check_long_tweet(status)
|
||||||
# Send it to the main controller object.
|
# Send it to the main controller object.
|
||||||
pub.sendMessage("newTweet", data=status, session_name=self.get_name(), _buffers=buffers_to_send)
|
pub.sendMessage("twitter.new_tweet", data=status, session_name=self.get_name(), _buffers=buffers_to_send)
|
||||||
|
|
||||||
def check_streams(self):
|
def check_streams(self):
|
||||||
if config.app["app-settings"]["no_streaming"]:
|
if config.app["app-settings"]["no_streaming"]:
|
||||||
@ -666,7 +666,7 @@ class Session(base.baseSession):
|
|||||||
else:
|
else:
|
||||||
sent_dms.insert(0, item)
|
sent_dms.insert(0, item)
|
||||||
self.db["sent_direct_messages"] = sent_dms
|
self.db["sent_direct_messages"] = sent_dms
|
||||||
pub.sendMessage("sent-dm", data=item, session_name=self.get_name())
|
pub.sendMessage("twitter.sent_dm", data=item, session_name=self.get_name())
|
||||||
|
|
||||||
def get_name(self):
|
def get_name(self):
|
||||||
if self.logged:
|
if self.logged:
|
||||||
|
@ -33,7 +33,7 @@ class Stream(tweepy.Stream):
|
|||||||
log.debug("Streaming listener started with {} users to follow.".format(len(self.users)))
|
log.debug("Streaming listener started with {} users to follow.".format(len(self.users)))
|
||||||
|
|
||||||
def on_connect(self):
|
def on_connect(self):
|
||||||
pub.sendMessage("streamConnected", session_name=self.session_name)
|
pub.sendMessage("twitter.stream_connected", session_name=self.session_name)
|
||||||
|
|
||||||
def on_exception(self, ex):
|
def on_exception(self, ex):
|
||||||
log.exception("Exception received on streaming endpoint for session {}".format(self.session_name))
|
log.exception("Exception received on streaming endpoint for session {}".format(self.session_name))
|
||||||
@ -44,4 +44,4 @@ class Stream(tweepy.Stream):
|
|||||||
if status.in_reply_to_user_id_str != None and status.in_reply_to_user_id_str not in self.users and status.user.id != self.user_id:
|
if status.in_reply_to_user_id_str != None and status.in_reply_to_user_id_str not in self.users and status.user.id != self.user_id:
|
||||||
return
|
return
|
||||||
if status.user.id_str in self.users:
|
if status.user.id_str in self.users:
|
||||||
pub.sendMessage("newStatus", status=status, session_name=self.session_name)
|
pub.sendMessage("twitter.new_status", status=status, session_name=self.session_name)
|
||||||
|
Loading…
Reference in New Issue
Block a user