[aum] aibility to post answers
This commit is contained in:
parent
f3a017cb01
commit
637875c49a
4 changed files with 24 additions and 8 deletions
|
|
@ -197,12 +197,14 @@ class AdopteUnMec(Browser):
|
|||
|
||||
@pageaccess
|
||||
def get_thread_mails(self, id):
|
||||
self.page.open_thread_page(id)
|
||||
if not self.is_on_page(ContactThreadPage) or self.page.get_id() != int(id):
|
||||
self.page.open_thread_page(id)
|
||||
return self.page.get_mails()
|
||||
|
||||
@pageaccess
|
||||
def post_mail(self, id, content):
|
||||
self.page.open_thread_page(id)
|
||||
if not self.is_on_page(ContactThreadPage) or self.page.get_id() != int(id):
|
||||
self.page.open_thread_page(id)
|
||||
self.page.post(content)
|
||||
|
||||
@pageaccess
|
||||
|
|
|
|||
|
|
@ -40,6 +40,10 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply):
|
|||
if not self._browser:
|
||||
self._browser = AdopteUnMec(self.config['username'], self.config['password'])
|
||||
return self._browser
|
||||
if name == 'queue_messages':
|
||||
if not hasattr(self, '_queue_messages'):
|
||||
self._queue_messages = []
|
||||
return self._queue_messages
|
||||
raise AttributeError, name
|
||||
|
||||
def iter_messages(self, thread=None):
|
||||
|
|
@ -47,6 +51,11 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply):
|
|||
yield message
|
||||
|
||||
def iter_new_messages(self, thread=None):
|
||||
for message in self.queue_messages:
|
||||
if not thread or message.get_thread_id() == thread:
|
||||
yield message
|
||||
self.queue_messages = []
|
||||
|
||||
for message in self._iter_messages(thread, True):
|
||||
yield message
|
||||
|
||||
|
|
@ -57,7 +66,7 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply):
|
|||
contacts.reverse()
|
||||
|
||||
for contact in contacts:
|
||||
if only_new and not contact.is_new():
|
||||
if only_new and not contact.is_new() or thread and int(thread) != contact.get_id():
|
||||
continue
|
||||
|
||||
mails = self.browser.get_thread_mails(contact.get_id())
|
||||
|
|
@ -70,5 +79,9 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply):
|
|||
if not profile:
|
||||
profile = self.browser.get_profile(contact.get_id())
|
||||
mail.signature += u'\n%s' % profile.get_profile_text()
|
||||
print mail.signature
|
||||
yield mail
|
||||
|
||||
def post_reply(self, thread_id, reply_id, title, message):
|
||||
for message in self._iter_messages(thread_id, True):
|
||||
self.queue_messages.append(message)
|
||||
return self.browser.post(thread_id, message)
|
||||
|
|
|
|||
|
|
@ -267,7 +267,6 @@ class ContactThreadPage(PageBase):
|
|||
id_regexp = re.compile("/thread.php\?id=([0-9]+)")
|
||||
|
||||
def loaded(self):
|
||||
|
||||
self.items = []
|
||||
|
||||
a_list = self.document.getElementsByTagName('a')
|
||||
|
|
@ -311,6 +310,8 @@ class ContactThreadPage(PageBase):
|
|||
self.items[-1].reply_date = mail.get_date_int()
|
||||
self.items += [mail]
|
||||
|
||||
def get_mails(self):
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_mails(self):
|
||||
return self.items
|
||||
|
|
|
|||
|
|
@ -107,5 +107,5 @@ class DLFPBackend(Backend, ICapMessages, ICapMessagesReply):
|
|||
self.storage.set(self.name, 'seen', what, seen)
|
||||
self.storage.save(self.name)
|
||||
|
||||
def post_reply(self, thread_id, reply_id, message):
|
||||
return self.browser.post(thread_id, reply_id, message)
|
||||
def post_reply(self, thread_id, reply_id, title, message):
|
||||
return self.browser.post(thread_id, reply_id, title, message)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue