c = int(mydata["next_cursor"])
lists[0:0] = mylists
- for l in lists:
+ for l in reversed(lists):
user = l["user"]
userid = int(user["id"])
screen_name = user["screen_name"]
# Main Class
class Main:
- # init status timelines
- timelines = list()
- tlhash = dict()
-
# Default settings
interval = (60, 300, -1)
- msgfooter = unicode()
+ msgfooter = u""
alloc = gtk.gdk.Rectangle(0, 0, 240, 320)
scounts = (20, 200)
iconmode = True
gtk.gdk.threads_init()
gobject.threads_init()
+ # init status timelines
+ self.timelines = list()
+ self.tlhash = dict()
+
# Twitter class instance
self.twitter = TwitterAPI(screen_name, *keys)
self.twitter.init_twitpic(self.twitpic_apikey)
self.label_apilimit = gtk.Label()
self.statusbar = self.builder.get_object("statusbar1")
self.statusbar.pack_start(self.label_apilimit, expand = False, padding = 10)
- self.statusbar.show_all()
+ self.statusbar.show_all()
# Users tab append
users = UserSelection(self.twitter, self.icons)
tl.view.on_status_activated = self.on_status_activated
tl.view.add_popup(self.menu_tweet)
- tl.start_timeline()
+ tl.start_timeline()
# Append Tab to Notebook
def new_tab(self, widget, label, timeline = None):
def get_current_tab(self):
return self.notebook.get_current_page()
-
+
# Get text
def get_textview(self):
buf = self.textview.get_buffer()
self.builder.get_object("menuitem_tweet").set_sensitive(False)
menuitem_timeline = self.builder.get_object("menuitem_timeline")
menuitem_timeline.set_sensitive(False)
- if page_num < 0: return
+ if page_num < 0: return False
tl = self.timelines[page_num].timeline
if tl != None and "interval" in dir(tl) and "api_method" in dir(tl):
from timeline import Timeline
class StreamingThread(threading.Thread):
- die = False
- timeline = set()
-
def __init__(self, twitter, params = {}):
threading.Thread.__init__(self)
self.setDaemon(True)
self.twitter = twitter
self.params = params
self.sapi = twoauth.streaming.StreamingAPI(self.twitter.api.oauth)
+
+ self.timeline = set()
+ self.die = False
def run(self):
#stream = self.sapi.sample()
from statusview import StatusView
class Timeline(gtk.ScrolledWindow):
- timeline = None
-
def __init__(self, api, icons, iconmode):
gtk.ScrolledWindow.__init__(self)
self.twitter = api
self.icons = icons
+ self.timeline = None
# Add treeview to scrolledwindow
self.view = StatusView(api, icons, iconmode)
def create_timeline(self, method, interval, counts, args = (), kwargs = {}):
# Add New Timeline Thread
th = TimelineThread(getattr(self.api, method), interval, counts, args, kwargs)
- th.added_event = self.add_status
+ th.on_status_added = self.add_status
th.statuses = self.statuses
#self.threads.append(th)
return th
# Timeline Thread
class TimelineThread(threading.Thread):
- die = False
- lastid = None
- timeline = set()
-
def __init__(self, method, interval, counts, args, kwargs):
# Thread Initialize
threading.Thread.__init__(self)
self.setDaemon(True)
self.setName(method.func_name + str(args))
+ self.timeline = set()
+ self.die = False
+ self.lastid = None
+
# Event lock
self.lock = threading.Event()
self.addlock = mutex.mutex()
if i.user.id == self.kwargs["user"]:
cached.add(i.id)
- if cached:
+ if len(cached) > 0:
self.add(cached)
# Auto reloading loop
new = set()
for i in statuses:
new.add(i.id)
- self.added_event(i)
+ self.on_status_added(i)
# Add statuses to timeline
self.add(new)
def on_timeline_refresh(self): pass
def reloadEventHandler(self): pass
+ def on_status_added(self, status): pass