# -*- coding: utf-8 -*- """ Copyright(C) 2008 Romain Bignon This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ import re from weboob.backends.aum.pages.base import PageBase class ContactItem: u"""
 
Hen
19ans, Montreuil Comme ça, on est deux.
il y a 1 heure nouveau       """ fields = ['thread_link', 'photo', 'useless3', 'name', 'resume', 'status', 'useless', 'remove', 'useless2'] def __init__(self, tr): self.tr = tr def __get_element(self, id): return self.tr.getElementsByTagName('td')[self.fields.index(id)] def get_name(self): tag = self.__get_element('name') node = tag.getElementsByTagName('b')[0].firstChild if node: name = node.data else: # it is possible if the user has left site and hasn't any nickname name = '' return name def get_status(self): tag = self.__get_element('status') return tag.firstChild.data def is_new(self): return self.get_status() == u'nouveau' def is_answered(self): return self.get_status() == u'répondu' def get_resume(self): tag = self.__get_element('resume') return tag.getElementsByTagName('b')[0].firstChild.data.split('\n')[0] def get_id(self): tag = self.__get_element('thread_link') text = tag.getAttribute('onclick') regexp = re.compile("window.location='/thread.php\?id=(.*)'") m = regexp.match(text) if m: return int(m.group(1)) return 0 class ContactListPage(PageBase): def on_loaded(self): self.items = [] tags = self.document.getElementsByTagName('form')[0].childNodes[3].childNodes[1].childNodes for tag in tags: if not hasattr(tag, 'tagName') or tag.tagName != u'tr': continue if tag.hasAttribute('bgcolor'): continue self.items += [ContactItem(tag)] def get_contact_list(self): return self.items