mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-07-17 21:56:07 -04:00
Timelines should be updated properly; changes for the 0.48 version
This commit is contained in:
@@ -14,7 +14,6 @@ max_tweets_per_call = integer(default=100)
|
||||
reverse_timelines = boolean(default=False)
|
||||
time_to_check_streams = integer(default=30)
|
||||
announce_stream_status = boolean(default=True)
|
||||
auto_connect_streams = boolean(default=True)
|
||||
ask_at_exit = boolean(default=True)
|
||||
|
||||
[sound]
|
||||
@@ -87,4 +86,3 @@ search = string(default="control+win+-")
|
||||
edit_keystrokes = string(default="control+win+k")
|
||||
view_user_lists = string(default="control+win+l")
|
||||
get_more_items = string(default="alt+win+pageup")
|
||||
connect_streams = string(default="win+alt+s")
|
@@ -2,7 +2,7 @@
|
||||
name = 'TW Blue'
|
||||
snapshot = False
|
||||
if snapshot == False:
|
||||
version = "0.47"
|
||||
version = "0.48"
|
||||
update_url = 'http://twblue.com.mx/updates/tw_blue.json'
|
||||
else:
|
||||
version = "4"
|
||||
@@ -13,7 +13,7 @@ copyright = u"copyright (C) 2013-2014, Manuel cortéz"
|
||||
description = u"TW Blue is an app designed to use Twitter in a simple and fast way and avoiding, as far as possible, the consumtion of excessive resources of the machine where it’s running. With this app you’ll have access to most twitter features."
|
||||
translators = [u"Bryner Villalobos (English)", u"Mohammed Al Shara (Arabic)", u"Salva Doménech, Juan Carlos Rivilla(Catalan)", u"Manuel cortéz(Spanish)", u"Sukil Etxenike Arizaleta(Basque)", u"Jani Kinnunen(finnish)", u"Javier Currás, José Manuel Delicado, Alba Quinteiro(Galician)", u"Robert Osztolykan(Hungarian)", u"Paweł Masarczyk(Polish)", u"Odenilton Júnior Santos(Portuguese)", u"Alexander Jaszyn(Russian)", u"Burak (Turkish)"]
|
||||
url = u"http://twblue.com.mx"
|
||||
report_bugs_url = "http://twblue.com.mx/errores/api/soap/mantisconnect.php?wsdl"
|
||||
#report_bugs_url = "http://twblue.com.mx/errores/api/soap/mantisconnect.php?wsdl"
|
||||
|
||||
# Tokens
|
||||
app_key = '8pDLbyOW3saYnvSZ4uLFg'
|
||||
|
@@ -50,7 +50,7 @@ class general(wx.Panel):
|
||||
langBox.Add(language, 0, wx.ALL, 5)
|
||||
langBox.Add(self.language, 0, wx.ALL, 5)
|
||||
sizer.Add(langBox, 0, wx.ALL, 5)
|
||||
self.ask_at_exit = wx.CheckBox(self, -1, _(U"Ask to exit TWBlue"))
|
||||
self.ask_at_exit = wx.CheckBox(self, -1, _(U"ask before exiting TwBlue?"))
|
||||
self.ask_at_exit.SetValue(config.main["general"]["ask_at_exit"])
|
||||
sizer.Add(self.ask_at_exit, 0, wx.ALL, 5)
|
||||
self.relative_time = wx.CheckBox(self, -1, _(U"Relative times"))
|
||||
|
@@ -123,8 +123,8 @@ class mainFrame(wx.Frame):
|
||||
|
||||
# buffer menu
|
||||
buffer = wx.Menu()
|
||||
load_more_items = buffer.Append(wx.NewId(), _(u"Load more items"))
|
||||
self.Bind(wx.EVT_MENU, self.get_more_items, load_more_items)
|
||||
load_previous_items = buffer.Append(wx.NewId(), _(u"&Load previous items"))
|
||||
self.Bind(wx.EVT_MENU, self.get_more_items, load_previous_items)
|
||||
mute = buffer.Append(wx.NewId(), _(u"&Mute"))
|
||||
self.Bind(wx.EVT_MENU, self.toggle_mute, mute)
|
||||
autoread = buffer.Append(wx.NewId(), _(u"&Autoread tweets for this buffer"))
|
||||
@@ -343,9 +343,8 @@ class mainFrame(wx.Frame):
|
||||
if run_streams == True:
|
||||
self.get_home()
|
||||
self.get_tls()
|
||||
if config.main["general"]["auto_connect_streams"] == True:
|
||||
self.check_streams = RepeatingTimer(config.main["general"]["time_to_check_streams"], self.check_stream_up)
|
||||
self.check_streams.start()
|
||||
self.check_streams = RepeatingTimer(config.main["general"]["time_to_check_streams"], self.check_stream_up)
|
||||
self.check_streams.start()
|
||||
# If all it's done, then play a nice sound saying that all it's OK.
|
||||
sound.player.play("ready.ogg")
|
||||
|
||||
@@ -394,24 +393,24 @@ class mainFrame(wx.Frame):
|
||||
|
||||
def get_tls(self):
|
||||
""" Setting the stream for individual user timelines."""
|
||||
try:
|
||||
self.stream2 = twitter.buffers.indibidual.streamer(application.app_key, application.app_secret, config.main["twitter"]["user_key"], config.main["twitter"]["user_secret"], parent=self)
|
||||
# try:
|
||||
self.stream2 = twitter.buffers.indibidual.streamer(application.app_key, application.app_secret, config.main["twitter"]["user_key"], config.main["twitter"]["user_secret"], parent=self)
|
||||
# The self.ids contains all IDS for the follow argument of the stream.
|
||||
ids = ""
|
||||
ids = ""
|
||||
# If we have more than 0 items on a list, then.
|
||||
for i in config.main["other_buffers"]["timelines"]:
|
||||
ids = ids+self.db.settings[i][0]["user"]["id_str"]+", "
|
||||
for i in range(0, self.nb.GetPageCount()):
|
||||
if self.nb.GetPage(i).type == "list":
|
||||
for z in self.nb.GetPage(i).users:
|
||||
ids+= str(z)+", "
|
||||
if ids != "":
|
||||
for i in config.main["other_buffers"]["timelines"]:
|
||||
ids = ids+self.db.settings[i][0]["user"]["id_str"]+", "
|
||||
for i in range(0, self.nb.GetPageCount()):
|
||||
if self.nb.GetPage(i).type == "list":
|
||||
for z in self.nb.GetPage(i).users:
|
||||
ids+= str(z)+", "
|
||||
if ids != "":
|
||||
# try:
|
||||
call_threaded(self.stream2.statuses.filter, follow=ids)
|
||||
call_threaded(self.stream2.statuses.filter, follow=ids)
|
||||
# except:
|
||||
# pass
|
||||
except:
|
||||
self.stream2.disconnect()
|
||||
# except:
|
||||
# self.stream2.disconnect()
|
||||
|
||||
def check_stream_up(self):
|
||||
try:
|
||||
@@ -950,22 +949,15 @@ class mainFrame(wx.Frame):
|
||||
def get_more_items(self, event=None):
|
||||
self.nb.GetCurrentPage().get_more_items()
|
||||
|
||||
def connect_streams(self):
|
||||
disconnect = False
|
||||
if self.stream.connected == False:
|
||||
output.speak(_(u"Trying to reconnect the main stream"))
|
||||
disconnect = True
|
||||
del self.stream
|
||||
call_threaded(self.init)
|
||||
self.get_home()
|
||||
if hasattr(self, "stream2") and self.stream2.connected == False:
|
||||
output.speak(_(u"Trying to reconnect the buffers stream"))
|
||||
disconnect = True
|
||||
log.debug("Trying reconnects the timelines stream...")
|
||||
del self.stream2
|
||||
self.get_tls()
|
||||
if disconnect == False:
|
||||
output.speak(_(u"All streams are working properly"))
|
||||
def search_buffer(self, buffer_type=None, name_buffer=None):
|
||||
page = None
|
||||
for i in range(0, self.nb.GetPageCount()):
|
||||
page = self.nb.GetPage(i)
|
||||
if page.type != buffer_type:
|
||||
continue
|
||||
if page.name_buffer == name_buffer:
|
||||
return page
|
||||
return page
|
||||
|
||||
### Close App
|
||||
def Destroy(self):
|
||||
|
@@ -41,5 +41,5 @@ actions = {
|
||||
"search": _(u"Search on twitter"),
|
||||
"edit_keystrokes": _(u"Shows the keystroke editor"),
|
||||
"view_user_lists": _(u"Show lists for a specified user"),
|
||||
"get_more_items": _(u"Load previous item for a buffer"),
|
||||
"get_more_items": _(u"loads previous items to any buffer"),
|
||||
}
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -19,13 +19,15 @@ class streamer(TwythonStreamer):
|
||||
log.debug("%s: %s" % (status_code, data))
|
||||
|
||||
def check_tls(self, data):
|
||||
print "checking timelines..."
|
||||
for i in config.main["other_buffers"]["timelines"]:
|
||||
if data["user"]["screen_name"] == i:
|
||||
print "I found it"
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data)
|
||||
announce = _(u"One tweet from %s") % (data["user"]["name"])
|
||||
tweet_event.SetAnnounce(announce)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index(i)), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer(buffer_type="timeline", name_buffer=data["user"]["screen_name"]), tweet_event)
|
||||
for i in range(0, self.parent.nb.GetPageCount()):
|
||||
if self.parent.nb.GetPage(i).type == "list":
|
||||
try:
|
||||
@@ -34,13 +36,13 @@ class streamer(TwythonStreamer):
|
||||
tweet_event.SetItem(data)
|
||||
announce = _(u"One tweet from %s in the list %s") % (data["user"]["name"], self.parent.nb.GetPage(i).name_buffer[:-5])
|
||||
tweet_event.SetAnnounce(announce)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index(self.parent.nb.GetPage(i).name_buffer)), tweet_event)
|
||||
wx.PostEvent(self.parent.nb.GetPage(i), tweet_event)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
def on_success(self, data):
|
||||
try:
|
||||
if "text" in data:
|
||||
if data.has_key("text"):
|
||||
self.check_tls(data)
|
||||
except:
|
||||
pass
|
@@ -27,7 +27,7 @@ class streamer(TwythonStreamer):
|
||||
if config.main["other_buffers"]["show_blocks"] == True:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["target"])
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("blocks")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("people", "blocks"), tweet_event)
|
||||
|
||||
def unblock(self, data):
|
||||
if config.main["other_buffers"]["show_blocks"] == True:
|
||||
@@ -35,20 +35,20 @@ class streamer(TwythonStreamer):
|
||||
self.db.settings["blocks"].pop(item)
|
||||
deleted_event = event.event(event.EVT_DELETED, 1)
|
||||
deleted_event.SetItem(item)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("blocks")), deleted_event)
|
||||
wx.PostEvent(self.parent.search_buffer("people", "blocks"), deleted_event)
|
||||
wx.PostEvent(self.parent, event.ResultEvent())
|
||||
|
||||
def check_send(self, data):
|
||||
if self.db.settings["user_name"] == data["user"]["screen_name"]:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("sent")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "sent"), tweet_event)
|
||||
|
||||
def check_favs(self, data):
|
||||
if data["source"]["screen_name"] == self.db.settings["user_name"]:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["target_object"])
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("favs")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "favs"), tweet_event)
|
||||
|
||||
def check_mentions(self, data):
|
||||
if "@%s" % (self.db.settings["user_name"]) in data["text"]:
|
||||
@@ -56,30 +56,30 @@ class streamer(TwythonStreamer):
|
||||
tweet_event.SetItem(data)
|
||||
text = _(u"One mention from %s ") % (data["user"]["name"])
|
||||
tweet_event.SetAnnounce(text)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("mentions")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "mentions"), tweet_event)
|
||||
|
||||
def process_dm(self, data):
|
||||
if self.db.settings["user_name"] == data["direct_message"]["sender"]["screen_name"]:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["direct_message"])
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("sent")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "sent"), tweet_event)
|
||||
if self.db.settings["user_name"] != data["direct_message"]["sender"]["screen_name"]:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["direct_message"])
|
||||
text = _(u"One direct message")
|
||||
tweet_event.SetAnnounce(text)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("direct_messages")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "direct_messages"), tweet_event)
|
||||
|
||||
def check_follower(self, data):
|
||||
if data["target"]["screen_name"] == self.db.settings["user_name"]:
|
||||
if config.main["other_buffers"]["show_followers"] == True:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["source"])
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("followers")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("people", "followers"), tweet_event)
|
||||
elif data["source"]["screen_name"] == self.db.settings["user_name"] and config.main["other_buffers"]["show_friends"] == True:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data["target"])
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("friends")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("people", "friends"), tweet_event)
|
||||
|
||||
def remove_fav(self, data):
|
||||
if self.db.settings["user_name"] == data["source"]["screen_name"]:
|
||||
@@ -88,7 +88,7 @@ class streamer(TwythonStreamer):
|
||||
self.db.settings["favs"].pop(item)
|
||||
deleted_event = event.event(event.EVT_DELETED, 1)
|
||||
deleted_event.SetItem(item)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("favs")), deleted_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "favs"), deleted_event)
|
||||
|
||||
def remove_friend(self, data):
|
||||
if config.main["other_buffers"]["show_friends"] == True:
|
||||
@@ -98,7 +98,7 @@ class streamer(TwythonStreamer):
|
||||
deleted_event.SetItem(item)
|
||||
self.friends.pop(item)
|
||||
self.db.settings["friends"].pop(item)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("friends")), deleted_event)
|
||||
wx.PostEvent(self.parent.search_buffer("people", "friends"), deleted_event)
|
||||
|
||||
def on_success(self, data):
|
||||
try:
|
||||
@@ -113,7 +113,7 @@ class streamer(TwythonStreamer):
|
||||
if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.db.settings["user_name"]:
|
||||
tweet_event = event.event(event.EVT_OBJECT, 1)
|
||||
tweet_event.SetItem(data)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("home_timeline")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("buffer", "home_timeline"), tweet_event)
|
||||
elif data.has_key("event"):
|
||||
if "favorite" == data["event"] and config.main["other_buffers"]["show_favourites"] == True:
|
||||
self.check_favs(data)
|
||||
@@ -163,7 +163,7 @@ class streamer(TwythonStreamer):
|
||||
tweet_event.SetAnnounce(text)
|
||||
# deleted_event = event.event(event.EVT_DELETED, 1)
|
||||
# deleted_event.SetItem(evento)
|
||||
wx.PostEvent(self.parent.nb.GetPage(self.db.settings["buffers"].index("events")), tweet_event)
|
||||
wx.PostEvent(self.parent.search_buffer("event", "events"), tweet_event)
|
||||
# self.sound.play("new_event.ogg")
|
||||
except:
|
||||
pass
|
||||
|
Reference in New Issue
Block a user