Added some code for starting
This commit is contained in:
65
src/controller/buffers.py
Normal file
65
src/controller/buffers.py
Normal file
@@ -0,0 +1,65 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from sessionmanager import session
|
||||
import widgetUtils
|
||||
import messages
|
||||
from wxUI.tabs import home
|
||||
from pubsub import pub
|
||||
|
||||
class baseBuffer(object):
|
||||
def __init__(self, parent=None, name="", session=None, composefunc=None, *args, **kwargs):
|
||||
super(baseBuffer, self).__init__()
|
||||
self.args = args
|
||||
self.kwargs = kwargs
|
||||
self.create_tab(parent)
|
||||
self.tab.name = name
|
||||
self.session = session
|
||||
self.compose_function = composefunc
|
||||
self.update_function = "get_page"
|
||||
self.name = name
|
||||
self.connect_events()
|
||||
|
||||
def create_tab(self, parent):
|
||||
self.tab = home.homeTab(parent)
|
||||
|
||||
|
||||
def insert(self, item, reversed=False):
|
||||
item_ = getattr(session, self.compose_function)(item, self.session)
|
||||
self.tab.list.insert_item(reversed, *item_)
|
||||
|
||||
def get_items(self, no_next=True):
|
||||
num = getattr(self.session, "get_newsfeed")(no_next=no_next, name=self.name, *self.args, **self.kwargs)
|
||||
print num
|
||||
if no_next == True:
|
||||
if self.tab.list.get_count() > 0 and num > 0:
|
||||
print "inserting a value"
|
||||
[self.insert(i, True) for i in self.session.db[self.name]["items"][-num:]]
|
||||
else:
|
||||
[self.insert(i) for i in self.session.db[self.name]["items"][:num]]
|
||||
|
||||
def post(self, *args, **kwargs):
|
||||
p = messages.post(title=_(u"Write your post"), caption="", text="")
|
||||
if p.message.get_response() == widgetUtils.OK:
|
||||
msg = p.message.get_text().encode("utf-8")
|
||||
privacy_opts = p.get_privacy_options()
|
||||
self.session.post_wall_status(message=msg, friends_only=privacy_opts)
|
||||
pub.sendMessage("posted", buffer=self.name)
|
||||
|
||||
|
||||
def connect_events(self):
|
||||
widgetUtils.connect_event(self.tab.post, widgetUtils.BUTTON_PRESSED, self.post)
|
||||
|
||||
class feedBuffer(baseBuffer):
|
||||
|
||||
def get_items(self, no_next=True):
|
||||
num = getattr(self.session, "get_page")(no_next=no_next, name=self.name, *self.args, **self.kwargs)
|
||||
print num
|
||||
if no_next == True:
|
||||
if self.tab.list.get_count() > 0 and num > 0:
|
||||
print "inserting a value"
|
||||
[self.insert(i, True) for i in self.session.db[self.name]["items"][-num:]]
|
||||
else:
|
||||
[self.insert(i) for i in self.session.db[self.name]["items"][:num]]
|
||||
|
||||
class audioBuffer(feedBuffer):
|
||||
def create_tab(self, parent):
|
||||
self.tab = home.audioTab(parent)
|
Reference in New Issue
Block a user