mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-08-26 09:59:23 +00:00
Compare commits
5 Commits
snapshot10
...
snapshot10
Author | SHA1 | Date | |
---|---|---|---|
7ed44c839e | |||
503c65692d | |||
f76b86b24d | |||
1f96e71b63 | |||
![]() |
adf062f654 |
@@ -5,11 +5,11 @@ if snapshot == False:
|
|||||||
version = "0.80"
|
version = "0.80"
|
||||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||||
else:
|
else:
|
||||||
version = "10.92"
|
version = "10.93"
|
||||||
update_url = 'http://twblue.es/updates/snapshots_ngen.json'
|
update_url = 'http://twblue.es/updates/snapshots_ngen.json'
|
||||||
author = u"Manuel Cortéz, Bill Dengler"
|
author = u"Manuel Cortéz"
|
||||||
authorEmail = "manuel@manuelcortez.net"
|
authorEmail = "manuel@manuelcortez.net"
|
||||||
copyright = u"Copyright (C) 2015, Technow S.L. \nCopyright (C) 2015, Bill Dengler\nCopyright (C) 2013-2015, Manuel cortéz."
|
copyright = u"Copyright (C) 2015, Technow S.L. \nCopyright (C) 2013-2015, Manuel cortéz."
|
||||||
description = unicode(name+" is an app designed to use Twitter simply and efficiently while using minimal system resources. This app provides access to most Twitter features.")
|
description = unicode(name+" is an app designed to use Twitter simply and efficiently while using minimal system resources. This app provides access to most Twitter features.")
|
||||||
translators = [u"Bryner Villalobos, Bill Dengler (English)", u"Mohammed Al Shara (Arabic)", u"Joan Rabat, Juan Carlos Rivilla (Catalan)", u"Manuel cortéz (Spanish)", u"Sukil Etxenike Arizaleta (Basque)", u"Jani Kinnunen (finnish)", u"Rémy Ruiz (French)", u"Juan Buño (Galician)", u"Steffen Schultz (German)", u"Robert Osztolykan (Hungarian)", u"Paweł Masarczyk (Polish)", u"Odenilton Júnior Santos (Portuguese)", u"Alexander Jaszyn (Russian)", u"Burak (Turkish)"]
|
translators = [u"Bryner Villalobos, Bill Dengler (English)", u"Mohammed Al Shara (Arabic)", u"Joan Rabat, Juan Carlos Rivilla (Catalan)", u"Manuel cortéz (Spanish)", u"Sukil Etxenike Arizaleta (Basque)", u"Jani Kinnunen (finnish)", u"Rémy Ruiz (French)", u"Juan Buño (Galician)", u"Steffen Schultz (German)", 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.es"
|
url = u"http://twblue.es"
|
||||||
|
@@ -779,7 +779,7 @@ class Controller(object):
|
|||||||
if usr["favourites_count"] == 0:
|
if usr["favourites_count"] == 0:
|
||||||
commonMessageDialogs.no_favs()
|
commonMessageDialogs.no_favs()
|
||||||
return
|
return
|
||||||
if dlg.get_user() in buffer.session.settings["other_buffers"]["favourites_timelines"]:
|
if dlg.get_user() in buff.session.settings["other_buffers"]["favourites_timelines"]:
|
||||||
commonMessageDialogs.timeline_exist()
|
commonMessageDialogs.timeline_exist()
|
||||||
return
|
return
|
||||||
tl = buffersController.baseBufferController(self.view.nb, "get_favorites", "%s-favorite" % (dlg.get_user(),), buff.session, buff.session.db["user_name"], bufferType=None, screen_name=dlg.get_user())
|
tl = buffersController.baseBufferController(self.view.nb, "get_favorites", "%s-favorite" % (dlg.get_user(),), buff.session, buff.session.db["user_name"], bufferType=None, screen_name=dlg.get_user())
|
||||||
@@ -1224,6 +1224,7 @@ class Controller(object):
|
|||||||
buffer.add_new_item(data)
|
buffer.add_new_item(data)
|
||||||
|
|
||||||
def manage_item_in_list(self, data, user, where):
|
def manage_item_in_list(self, data, user, where):
|
||||||
|
print "I'm activated!"
|
||||||
buffer = self.search_buffer("%s" % (where,), user)
|
buffer = self.search_buffer("%s" % (where,), user)
|
||||||
if buffer == None: return
|
if buffer == None: return
|
||||||
play_sound = "tweet_timeline.ogg"
|
play_sound = "tweet_timeline.ogg"
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
import win32com.client
|
import win32com.client
|
||||||
|
|
||||||
def fix():
|
def fix():
|
||||||
if win32com.client.gencache.is_readonly == True:
|
if win32com.client.gencache.is_readonly == True:
|
||||||
win32com.client.gencache.is_readonly = False
|
win32com.client.gencache.is_readonly = False
|
||||||
|
@@ -1,4 +1,7 @@
|
|||||||
from pywintypes import com_error
|
from pywintypes import com_error
|
||||||
|
import win32com
|
||||||
|
import paths
|
||||||
|
win32com.__gen_path__=paths.data_path("com_cache")
|
||||||
from win32com.client import gencache
|
from win32com.client import gencache
|
||||||
|
|
||||||
def prepare_gencache():
|
def prepare_gencache():
|
||||||
|
@@ -23,7 +23,7 @@ import application
|
|||||||
import keys
|
import keys
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
import fixes
|
import fixes
|
||||||
#extra variables to control the temporal stdout and stderr, while the final files are opened. We understand that some errors could happen while all outputs are closed, so let's try to avoid it.
|
#extra variables to control the temporary stdout and stderr, while the final files are opened. We understand that some errors could happen while all outputs are closed, so let's try to avoid it.
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
import webbrowser
|
import webbrowser
|
||||||
from wxUI import commonMessageDialogs
|
from wxUI import commonMessageDialogs
|
||||||
@@ -53,13 +53,13 @@ log = logging.getLogger("main")
|
|||||||
def setup():
|
def setup():
|
||||||
log.debug("Starting " + application.name + " %s" % (application.version,))
|
log.debug("Starting " + application.name + " %s" % (application.version,))
|
||||||
config.setup()
|
config.setup()
|
||||||
fixes.setup()
|
|
||||||
log.debug("Using %s %s" % (platform.system(), platform.architecture()[0]))
|
log.debug("Using %s %s" % (platform.system(), platform.architecture()[0]))
|
||||||
log.debug("Application path is %s" % (paths.app_path(),))
|
log.debug("Application path is %s" % (paths.app_path(),))
|
||||||
log.debug("config path is %s" % (paths.config_path(),))
|
log.debug("config path is %s" % (paths.config_path(),))
|
||||||
sound.setup()
|
sound.setup()
|
||||||
output.setup()
|
output.setup()
|
||||||
languageHandler.setLanguage(config.app["app-settings"]["language"])
|
languageHandler.setLanguage(config.app["app-settings"]["language"])
|
||||||
|
fixes.setup()
|
||||||
keys.setup()
|
keys.setup()
|
||||||
from controller import mainController
|
from controller import mainController
|
||||||
from sessionmanager import sessionManager
|
from sessionmanager import sessionManager
|
||||||
|
@@ -322,10 +322,12 @@ class Session(object):
|
|||||||
for z in i.users:
|
for z in i.users:
|
||||||
ids += str(z) + ", "
|
ids += str(z) + ", "
|
||||||
if ids != "":
|
if ids != "":
|
||||||
|
# print ids
|
||||||
stream_threaded(self.timelinesStream.statuses.filter, self.session_id, follow=ids)
|
stream_threaded(self.timelinesStream.statuses.filter, self.session_id, follow=ids)
|
||||||
|
|
||||||
def add_friends(self):
|
def add_friends(self):
|
||||||
try:
|
try:
|
||||||
|
# print "setting friends"
|
||||||
self.timelinesStream.set_friends(self.main_stream.friends)
|
self.timelinesStream.set_friends(self.main_stream.friends)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
@@ -348,7 +350,7 @@ class Session(object):
|
|||||||
self.logged = False
|
self.logged = False
|
||||||
self.twitter = twitter.twitter.twitter()
|
self.twitter = twitter.twitter.twitter()
|
||||||
self.login(False)
|
self.login(False)
|
||||||
pub.sendMessage("streamError", session=self.session_id)
|
# pub.sendMessage("streamError", session=self.session_id)
|
||||||
if self.reconnection_function_active == True: return
|
if self.reconnection_function_active == True: return
|
||||||
self.reconnection_function_active = True
|
self.reconnection_function_active = True
|
||||||
if not hasattr(self, "main_stream"):
|
if not hasattr(self, "main_stream"):
|
||||||
|
@@ -139,8 +139,8 @@ class URLStream(object):
|
|||||||
log.debug("Stopped audio stream.")
|
log.debug("Stopped audio stream.")
|
||||||
except:
|
except:
|
||||||
log.exception("Exception while stopping stream.")
|
log.exception("Exception while stopping stream.")
|
||||||
# if delete:
|
if delete:
|
||||||
# del self.stream
|
del self.stream
|
||||||
log.debug("Deleted audio stream.")
|
log.debug("Deleted audio stream.")
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
@@ -37,25 +37,28 @@ class timelinesStreamer(TwythonStreamer):
|
|||||||
try:
|
try:
|
||||||
data_ = self.session.check_quoted_status(data)
|
data_ = self.session.check_quoted_status(data)
|
||||||
data = data_
|
data = data_
|
||||||
except:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s-timeline" % (i,)].append(data)
|
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s-timeline" % (i,)].append(data)
|
||||||
else: self.session.db["%s-timeline" % (i,)].insert(0, data)
|
else: self.session.db["%s-timeline" % (i,)].insert(0, data)
|
||||||
pub.sendMessage("item-in-timeline", data= data, user= self.session.db["user_name"], who= i)
|
pub.sendMessage("item-in-timeline", data= data, user= self.session.db["user_name"], who= i)
|
||||||
|
# return
|
||||||
for i in self.session.lists:
|
for i in self.session.lists:
|
||||||
try:
|
try:
|
||||||
i.users.index(data["user"]["id"])
|
i.users.index(data["user"]["id"])
|
||||||
|
# print "Index in the list for the specified user: %d" % (i.users.index(data["user"]["id"]),)
|
||||||
usr = data["in_reply_to_user_id"]
|
usr = data["in_reply_to_user_id"]
|
||||||
if (usr != None and usr in self.friends) or data.has_key("retweeted_status"):
|
if (usr != None or usr in self.friends) or data.has_key("retweeted_status"):
|
||||||
data = self.session.check_quoted_status(data)
|
data = self.session.check_quoted_status(data)
|
||||||
|
# print data
|
||||||
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s" % (i.name,)].append(data)
|
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s" % (i.name,)].append(data)
|
||||||
else: self.session.db["%s" % (i,)].insert(0, data)
|
else: self.session.db["%s" % (i,)].insert(0, data)
|
||||||
pub.sendMessage("item-in-list", data= data, user= self.session.db["user_name"], where= i.name)
|
pub.sendMessage("item-in-list", data=data, user=self.session.db["user_name"], where=i.name)
|
||||||
elif usr == None:
|
elif usr == None:
|
||||||
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s" % (i.name,)].append(data)
|
if self.session.settings["general"]["reverse_timelines"] == False: self.session.db["%s" % (i.name,)].append(data)
|
||||||
else: self.session.db["%s" % (i,)].insert(0, data)
|
else: self.session.db["%s" % (i,)].insert(0, data)
|
||||||
pub.sendMessage("item-in-list", data= data, user= self.session.db["user_name"], where= i.name)
|
pub.sendMessage("item-in-list", data=data, user=self.session.db["user_name"], where=i.name)
|
||||||
except ValueError:
|
except NameError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def set_friends(self, friends):
|
def set_friends(self, friends):
|
||||||
|
@@ -36,7 +36,7 @@ class streamer(TwythonStreamer):
|
|||||||
if self.session.db.has_key(place):
|
if self.session.db.has_key(place):
|
||||||
if utils.find_item(data["id"], self.session.db[place]) != None:
|
if utils.find_item(data["id"], self.session.db[place]) != None:
|
||||||
log.error("duplicated tweet. Ignoring it...")
|
log.error("duplicated tweet. Ignoring it...")
|
||||||
return
|
return False
|
||||||
try:
|
try:
|
||||||
data_ = self.session.check_quoted_status(data)
|
data_ = self.session.check_quoted_status(data)
|
||||||
data = data_
|
data = data_
|
||||||
@@ -47,6 +47,7 @@ class streamer(TwythonStreamer):
|
|||||||
else:
|
else:
|
||||||
self.session.db[place].insert(0, data)
|
self.session.db[place].insert(0, data)
|
||||||
utils.is_audio(data)
|
utils.is_audio(data)
|
||||||
|
return True
|
||||||
|
|
||||||
def block_user(self, data):
|
def block_user(self, data):
|
||||||
id = data["target"]["id"]
|
id = data["target"]["id"]
|
||||||
@@ -64,30 +65,36 @@ class streamer(TwythonStreamer):
|
|||||||
|
|
||||||
def check_send(self, data):
|
def check_send(self, data):
|
||||||
if self.session.db["user_name"] == data["user"]["screen_name"]:
|
if self.session.db["user_name"] == data["user"]["screen_name"]:
|
||||||
self.put_data("sent_tweets", data)
|
d = self.put_data("sent_tweets", data)
|
||||||
pub.sendMessage("sent-tweet", data=data, user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("sent-tweet", data=data, user=self.get_user())
|
||||||
|
|
||||||
def check_favs(self, data):
|
def check_favs(self, data):
|
||||||
if data["source"]["screen_name"] == self.session.db["user_name"]:
|
if data["source"]["screen_name"] == self.session.db["user_name"]:
|
||||||
self.put_data("favourites", data["target_object"])
|
d = self.put_data("favourites", data["target_object"])
|
||||||
pub.sendMessage("favourite", data=data["target_object"], user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("favourite", data=data["target_object"], user=self.get_user())
|
||||||
|
|
||||||
def check_mentions(self, data):
|
def check_mentions(self, data):
|
||||||
if "@%s" % (self.session.db["user_name"]) in data["text"]:
|
if "@%s" % (self.session.db["user_name"]) in data["text"]:
|
||||||
self.put_data("mentions", data)
|
d = self.put_data("mentions", data)
|
||||||
pub.sendMessage("mention", data=data, user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("mention", data=data, user=self.get_user())
|
||||||
|
|
||||||
def set_quoted_tweet(self, data):
|
def set_quoted_tweet(self, data):
|
||||||
self.put_data("mentions", data)
|
d = self.put_data("mentions", data)
|
||||||
pub.sendMessage("mention", data=data, user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("mention", data=data, user=self.get_user())
|
||||||
|
|
||||||
def process_dm(self, data):
|
def process_dm(self, data):
|
||||||
if self.session.db["user_name"] == data["direct_message"]["sender"]["screen_name"]:
|
if self.session.db["user_name"] == data["direct_message"]["sender"]["screen_name"]:
|
||||||
self.put_data("sent_direct_messages", data["direct_message"])
|
d = self.put_data("sent_direct_messages", data["direct_message"])
|
||||||
pub.sendMessage("sent-dm", data=data["direct_message"], user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("sent-dm", data=data["direct_message"], user=self.get_user())
|
||||||
else:
|
else:
|
||||||
self.put_data("direct_messages", data["direct_message"])
|
d = self.put_data("direct_messages", data["direct_message"])
|
||||||
pub.sendMessage("direct-message", data=data["direct_message"], user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("direct-message", data=data["direct_message"], user=self.get_user())
|
||||||
|
|
||||||
def check_follower(self, data):
|
def check_follower(self, data):
|
||||||
if data["target"]["screen_name"] == self.session.db["user_name"]:
|
if data["target"]["screen_name"] == self.session.db["user_name"]:
|
||||||
@@ -129,8 +136,9 @@ class streamer(TwythonStreamer):
|
|||||||
self.check_mentions(data)
|
self.check_mentions(data)
|
||||||
self.check_send(data)
|
self.check_send(data)
|
||||||
if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.session.db["user_name"]:
|
if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.session.db["user_name"]:
|
||||||
self.put_data("home_timeline", data)
|
d = self.put_data("home_timeline", data)
|
||||||
pub.sendMessage("item-in-home", data=data, user=self.get_user())
|
if d != False:
|
||||||
|
pub.sendMessage("item-in-home", data=data, user=self.get_user())
|
||||||
elif data.has_key("event"):
|
elif data.has_key("event"):
|
||||||
if "favorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
|
if "favorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
|
||||||
self.check_favs(data)
|
self.check_favs(data)
|
||||||
|
Reference in New Issue
Block a user