Basic conversation support, a jaws fix

This commit is contained in:
2015-03-18 11:45:39 -06:00
parent 89e541be95
commit 75dfaec727
8 changed files with 51 additions and 4 deletions

View File

@@ -691,4 +691,32 @@ class trendsBufferController(bufferController):
return False
def url(self, *args, **kwargs):
self.searchfunction(value=self.get_message())
self.searchfunction(value=self.get_message())
class conversationBufferController(searchBufferController):
def start_stream(self, start=False):
if start == True:
self.statuses = []
self.ids = []
self.statuses.append(self.tweet)
self.ids.append(self.tweet["id"])
tweet = self.tweet
while tweet["in_reply_to_status_id"] != None:
tweet = self.session.twitter.twitter.show_status(id=tweet["in_reply_to_status_id"])
self.statuses.insert(0, tweet)
self.ids.append(tweet["id"])
if tweet["in_reply_to_status_id"] == None:
self.kwargs["since_id"] = tweet["id"]
self.ids.append(tweet["id"])
val2 = getattr(self.session.twitter.twitter, self.function)(*self.args, **self.kwargs)
for i in val2["statuses"]:
if i["in_reply_to_status_id"] in self.ids:
self.statuses.append(i)
self.ids.append(i["id"])
tweet = i
number_of_items = self.session.order_buffer(self.name, self.statuses)
log.debug("Number of items retrieved: %d" % (number_of_items,))
self.put_items_on_list(number_of_items)
if number_of_items > 0:
self.session.sound.play("search_updated.ogg")

View File

@@ -649,6 +649,18 @@ class Controller(object):
else:
commonMessageDialogs.user_not_exist()
def open_conversation(self, *args, **kwargs):
buffer = self.get_current_buffer()
id = buffer.get_right_tweet()["id_str"]
user = buffer.get_right_tweet()["user"]["screen_name"]
search = buffersController.conversationBufferController(self.view.nb, "search", "%s-searchterm" % (id,), buffer.session, buffer.session.db["user_name"], bufferType="searchPanel", since_id=id, q="@{0}".format(user,), count=100)
search.tweet = buffer.get_right_tweet()
search.start_stream(start=True)
self.buffers.append(search)
self.view.insert_buffer(search.buffer, name=_(u"Conversation with {0}".format(user)), pos=self.view.search("searches", buffer.session.db["user_name"]))
search.timer = RepeatingTimer(300, search.start_stream)
search.timer.start()
def show_hide(self, *args, **kwargs):
km = self.create_invisible_keyboard_shorcuts()
if self.showing == True: