can use okc with monboob
This commit is contained in:
parent
a40643bf40
commit
db2494d3ad
3 changed files with 38 additions and 54 deletions
|
|
@ -157,7 +157,7 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
||||||
|
|
||||||
child = None
|
child = None
|
||||||
msg = None
|
msg = None
|
||||||
slut = self._get_slut(mails['member']['pseudo'])
|
slut = self._get_slut(thread.id)
|
||||||
if contacts is None:
|
if contacts is None:
|
||||||
contacts = {}
|
contacts = {}
|
||||||
|
|
||||||
|
|
@ -166,7 +166,7 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
||||||
|
|
||||||
for mail in mails['messages']:
|
for mail in mails['messages']:
|
||||||
flags = Message.IS_HTML
|
flags = Message.IS_HTML
|
||||||
if parse_dt(mail['date']) > slut['lastmsg'] and mail['id_from'] != self.browser.get_my_name():
|
if parse_dt(mail['date']) > slut['lastmsg']:
|
||||||
flags |= Message.IS_UNREAD
|
flags |= Message.IS_UNREAD
|
||||||
|
|
||||||
if get_profiles:
|
if get_profiles:
|
||||||
|
|
@ -187,7 +187,7 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
||||||
receivers=[my_name if mail['id_from'] != my_name else mails['member']['pseudo']],
|
receivers=[my_name if mail['id_from'] != my_name else mails['member']['pseudo']],
|
||||||
date=parse_dt(mail['date']),
|
date=parse_dt(mail['date']),
|
||||||
content=unescape(mail['message']).strip(),
|
content=unescape(mail['message']).strip(),
|
||||||
signature=signature,
|
signature='<pre>%s</pre>' % signature,
|
||||||
children=[],
|
children=[],
|
||||||
flags=flags)
|
flags=flags)
|
||||||
if child:
|
if child:
|
||||||
|
|
@ -203,39 +203,19 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
||||||
|
|
||||||
return thread
|
return thread
|
||||||
|
|
||||||
#def iter_unread_messages(self, thread=None):
|
def iter_unread_messages(self, thread=None):
|
||||||
# try:
|
contacts = {}
|
||||||
# contacts = {}
|
for thread in self.browser.get_threads_list():
|
||||||
# with self.browser:
|
t = self.get_thread(thread['username'], contacts, get_profiles=True)
|
||||||
# threads = self.browser.get_threads_list()
|
for m in t.iter_all_messages():
|
||||||
# for thread in threads:
|
if m.flags & m.IS_UNREAD:
|
||||||
# if thread['member'].get('isBan', thread['member'].get('dead', False)):
|
yield m
|
||||||
# with self.browser:
|
|
||||||
# self.browser.delete_thread(int(thread['member']['id']))
|
|
||||||
# continue
|
|
||||||
# if self.antispam and not self.antispam.check_thread(thread):
|
|
||||||
# self.logger.info('Skipped a spam-unread-thread from %s' % thread['member']['pseudo'])
|
|
||||||
# self.report_spam(thread['member']['pseudo'])
|
|
||||||
# continue
|
|
||||||
# slut = self._get_slut(thread['member']['pseudo'])
|
|
||||||
# if parse_dt(thread['date']) > slut['lastmsg']:
|
|
||||||
# t = self.get_thread(thread['member']['pseudo'], contacts, get_profiles=True)
|
|
||||||
# for m in t.iter_all_messages():
|
|
||||||
# if m.flags & m.IS_UNREAD:
|
|
||||||
# yield m
|
|
||||||
|
|
||||||
# except BrowserUnavailable as e:
|
|
||||||
# self.logger.debug('No messages, browser is unavailable: %s' % e)
|
|
||||||
# pass # don't care about waiting
|
|
||||||
|
|
||||||
def set_message_read(self, message):
|
def set_message_read(self, message):
|
||||||
if message.sender == self.browser.get_my_name():
|
slut = self._get_slut(message.thread.id)
|
||||||
return
|
|
||||||
|
|
||||||
slut = self._get_slut(message.sender)
|
|
||||||
if slut['lastmsg'] < message.date:
|
if slut['lastmsg'] < message.date:
|
||||||
slut['lastmsg'] = message.date
|
slut['lastmsg'] = message.date
|
||||||
self.storage.set('sluts', message.sender, slut)
|
self.storage.set('sluts', message.thread.id, slut)
|
||||||
self.storage.save()
|
self.storage.save()
|
||||||
|
|
||||||
def _get_slut(self, id):
|
def _get_slut(self, id):
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class ProfilesWalker(Optimization):
|
||||||
self.browser = browser
|
self.browser = browser
|
||||||
self.logger = getLogger('walker', browser.logger)
|
self.logger = getLogger('walker', browser.logger)
|
||||||
|
|
||||||
self.config = storage.get('priority_connection', 'config', default=None)
|
self.config = storage.get('profile_walker', 'config', default=None)
|
||||||
if self.config == {}:
|
if self.config == {}:
|
||||||
self.config = None
|
self.config = None
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ class ProfilesWalker(Optimization):
|
||||||
|
|
||||||
def set_config(self, params):
|
def set_config(self, params):
|
||||||
self.config = params
|
self.config = params
|
||||||
self.storage.set('priority_connection', 'config', self.config)
|
self.storage.set('profile_walker', 'config', self.config)
|
||||||
self.storage.save()
|
self.storage.save()
|
||||||
|
|
||||||
def get_config(self):
|
def get_config(self):
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ class ThreadPage(BasePage):
|
||||||
threads.append({
|
threads.append({
|
||||||
u'username' : unicode(elem.getchildren()[0].get('href').split('/')[-1].split('?')[0]),
|
u'username' : unicode(elem.getchildren()[0].get('href').split('/')[-1].split('?')[0]),
|
||||||
u'id' : unicode(elem.get('id', '').split('_')[1]),
|
u'id' : unicode(elem.get('id', '').split('_')[1]),
|
||||||
|
u'date' : unicode(elem.find('.//p[@class="date"]').text)
|
||||||
})
|
})
|
||||||
|
|
||||||
return threads
|
return threads
|
||||||
|
|
@ -57,7 +58,10 @@ class MessagesPage(BasePage):
|
||||||
'messages' : [],
|
'messages' : [],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
mails['member']['pseudo'] = self.document.xpath('//li[starts-with(@id, "usr_")]')[0].attrib['id'].split('_', 1)[-1]
|
mails['member']['pseudo'] = self.document.xpath('//li[starts-with(@id, "usr_")]')[0].attrib['id'].split('_', 1)[-1]
|
||||||
|
except IndexError:
|
||||||
|
mails['member']['pseudo'] = 'Unknown'
|
||||||
|
|
||||||
for li_msg in reversed(ul_item.getchildren()):
|
for li_msg in reversed(ul_item.getchildren()):
|
||||||
div = li_msg.getchildren()[1]
|
div = li_msg.getchildren()[1]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue