move code to create Contact in backend.py

This commit is contained in:
Romain Bignon 2010-07-05 18:22:10 +02:00
commit 8fd3468352
2 changed files with 19 additions and 14 deletions

View file

@ -20,6 +20,7 @@ from __future__ import with_statement
from datetime import datetime from datetime import datetime
from dateutil import tz from dateutil import tz
import os import os
from logging import warning
from time import sleep from time import sleep
from weboob.backend import BaseBackend from weboob.backend import BaseBackend
@ -175,7 +176,22 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesReply, ICapDating, ICapC
def iter_contacts(self, status=Contact.STATUS_ALL): def iter_contacts(self, status=Contact.STATUS_ALL):
with self.browser: with self.browser:
return self.browser.iter_contacts(status) for contact in self.browser.iter_contacts():
if contact['cat'] == 1:
s = Contact.STATUS_ONLINE
elif contact['cat'] == 3:
s = Contact.STATUS_OFFLINE
else:
warning('Unknown AuM contact status: %s' % contact['cat'])
if not status & s:
continue
# TODO age in contact['birthday']
contact = Contact(contact['id'], contact['pseudo'], s)
contact.status_msg = u'%s old' % contact['birthday']
contact.thumbnail_url = contact['cover']
yield contact
def iter_chat_messages(self, _id=None): def iter_chat_messages(self, _id=None):
with self.browser: with self.browser:

View file

@ -42,7 +42,6 @@ from weboob.backends.aum.pages.edit import EditPhotoPage, EditPhotoCbPage, EditA
from weboob.backends.aum.pages.wait import WaitPage from weboob.backends.aum.pages.wait import WaitPage
from weboob.capabilities.chat import ChatException, ChatMessage from weboob.capabilities.chat import ChatException, ChatMessage
from weboob.capabilities.contact import Contact
__all__ = ['AdopteUnMec'] __all__ = ['AdopteUnMec']
@ -286,7 +285,7 @@ class AdopteUnMec(BaseBrowser):
raise ChatException(u'Error while getting chat infos. json:\n%s' % json) raise ChatException(u'Error while getting chat infos. json:\n%s' % json)
return json return json
def iter_contacts(self, status=Contact.STATUS_ALL): def iter_contacts(self):
def iter_dedupe(contacts): def iter_dedupe(contacts):
yielded_ids = set() yielded_ids = set()
for contact in contacts: for contact in contacts:
@ -295,17 +294,7 @@ class AdopteUnMec(BaseBrowser):
yielded_ids.add(contact['id']) yielded_ids.add(contact['id'])
json = self._get_chat_infos() json = self._get_chat_infos()
for contact in iter_dedupe(json['contacts']): return iter_dedupe(json['contacts'])
if status & Contact.STATUS_ONLINE and contact['cat'] == 1 or \
status & Contact.STATUS_OFFLINE and contact['cat'] == 3:
if contact['cat'] == 1:
s = Contact.STATUS_ONLINE
elif contact['cat'] == 3:
s = Contact.STATUS_OFFLINE
else:
raise ChatException(u'Unknown online status: contact=%s' % contact)
# TODO age in contact['birthday']
yield Contact(id=contact['id'], name=contact['pseudo'], status=s, thumbnail_url=contact['cover'])
def iter_chat_messages(self, _id=None): def iter_chat_messages(self, _id=None):
json = self._get_chat_infos() json = self._get_chat_infos()