diff --git a/weboob/backend.py b/weboob/backend.py index bca7a4bbe806fe21b1eb4d70f710387e3efcfa5b..52dfc977546fc5719e2fb9846ef3873e4b433f26 100644 --- a/weboob/backend.py +++ b/weboob/backend.py @@ -23,7 +23,7 @@ class Backend: def __init__(self, weboob): self.weboob = weboob - def hasCaps(self, caps): + def has_caps(self, caps): if not isinstance(caps, (list,tuple)): caps = (caps,) diff --git a/weboob/backends/aum/adopte.py b/weboob/backends/aum/adopte.py index 22ea05169d4f8b6b7a6502fea3f062bb78ec88c8..f36291f8f56de08caeff4c8b16ec866c11bee14a 100644 --- a/weboob/backends/aum/adopte.py +++ b/weboob/backends/aum/adopte.py @@ -66,57 +66,57 @@ class AdopteUnMec(Browser): } def login(self): - if not self.isOnPage(LoginPage): + if not self.is_on_page(LoginPage): self.home() self.page.login(self.username, self.password) - def isLogged(self): - return not self.isOnPage(LoginPage) + def is_logged(self): + return not self.is_on_page(LoginPage) def home(self): return self.location('http://www.adopteunmec.com/home.php') def pageaccess(func): def inner(self, *args, **kwargs): - if self.isOnPage(WaitPage): + if self.is_on_page(WaitPage): if not self.page.check(): raise AdopteWait() self.home() - if not self.page or self.isOnPage(LoginPage) and self.password: + if not self.page or self.is_on_page(LoginPage) and self.password: self.home() return func(self, *args, **kwargs) return inner def register(self, nickname, password, sex, birthday_d, birthday_m, birthday_y, zipcode, country, godfather=''): - if not self.isOnPage(RegisterPage): + if not self.is_on_page(RegisterPage): self.location('http://www.adopteunmec.com/register2.php') return self.page.register(nickname, password, sex, birthday_d, birthday_m, birthday_y, zipcode, country, godfather) @pageaccess - def addPhoto(self, name, f): - if not self.isOnPage(EditPhotoPage): + def add_photo(self, name, f): + if not self.is_on_page(EditPhotoPage): self.location('/edit.php?type=1') - return self.page.addPhoto(name, f) + return self.page.add_photo(name, f) @pageaccess - def setNickname(self, nickname): - if not self.isOnPage(EditAnnouncePage): + def set_nickname(self, nickname): + if not self.is_on_page(EditAnnouncePage): self.location('/edit.php?type=2') - return self.page.setNickname(nickname) + return self.page.set_nickname(nickname) @pageaccess - def setAnnounce(self, title=None, description=None, lookingfor=None): - if not self.isOnPage(EditAnnouncePage): + def set_announce(self, title=None, description=None, lookingfor=None): + if not self.is_on_page(EditAnnouncePage): self.location('/edit.php?type=2') - return self.page.setAnnounce(title, description, lookingfor) + return self.page.set_announce(title, description, lookingfor) @pageaccess - def setDescription(self, **args): - if not self.isOnPage(EditDescriptionPage): + def set_description(self, **args): + if not self.is_on_page(EditDescriptionPage): self.location('/edit.php?type=3') - return self.page.setDescription(**args) + return self.page.set_description(**args) @pageaccess def score(self): @@ -125,75 +125,75 @@ def score(self): return self.page.score() @pageaccess - def getMyName(self): + def get_my_name(self): if time.time() - self.__last_update > 60: self.home() - return self.page.getMyName() + return self.page.get_my_name() @pageaccess - def getMyID(self): - if not self.isOnPage(HomePage): + def get_my_id(self): + if not self.is_on_page(HomePage): self.home() - return self.page.getMyID() + return self.page.get_my_id() @pageaccess - def nbNewMails(self): + def nb_new_mails(self): if time.time() - self.__last_update > 60: self.home() - return self.page.nbNewMails() + return self.page.nb_new_mails() @pageaccess - def nbNewBaskets(self): + def nb_new_baskets(self): if time.time() - self.__last_update > 60: self.home() - return self.page.nbNewBaskets() + return self.page.nb_new_baskets() @pageaccess - def nbNewVisites(self): + def nb_new_visites(self): if time.time() - self.__last_update > 60: self.home() - return self.page.nbNewVisites() + return self.page.nb_new_visites() @pageaccess - def nbAvailableCharms(self): + def nb_available_charms(self): self.home() - return self.page.nbAvailableCharms() + return self.page.nb_available_charms() @pageaccess - def getBaskets(self): + def get_baskets(self): self.location('/mails.php?type=1') - return self.page.getProfilesIDsList() + return self.page.get_profiles_ids_list() @pageaccess - def flushVisits(self): + def flush_visits(self): """ Does nothing, only flush new visits to increase my score """ self.openurl('/mails.php?type=3') @pageaccess - def getContactList(self): - if not self.isOnPage(ContactListPage): + def get_contact_list(self): + if not self.is_on_page(ContactListPage): self.location('/mails.php') - return self.page.getContactList() + return self.page.get_contact_list() @pageaccess - def getThreadMails(self, id): - self.page.openThreadPage(id) - return self.page.getMails() + def get_thread_mails(self, id): + self.page.open_thread_page(id) + return self.page.get_mails() @pageaccess - def postMail(self, id, content): - self.page.openThreadPage(id) + def post_mail(self, id, content): + self.page.open_thread_page(id) self.page.post(content) @pageaccess - def sendCharm(self, id): + def send_charm(self, id): result = self.openurl('http://www.adopteunmec.com/fajax_addBasket.php?id=%s' % id).read() warning('Charm: %s' % result) return result.find('noMoreFlashes') < 0 @pageaccess - def addBasket(self, id): + def add_basket(self, id): result = self.openurl('http://www.adopteunmec.com/fajax_addBasket.php?id=%s' % id).read() warning('Basket: %s' % result) # TODO check if it works (but it should) @@ -212,20 +212,20 @@ def rate(self, id, what, rating): return float(result) @pageaccess - def searchProfiles(self, **kwargs): + def search_profiles(self, **kwargs): self.location('/search.php?display=1') self.page.search(**kwargs) - return self.page.getProfilesIDs() + return self.page.get_profiles_ids() @pageaccess - def getProfile(self, link): + def get_profile(self, link): if isinstance(link, (str,unicode)) and link.startswith('/'): link = link[1:] self.location('/%s' % link) return self.page @pageaccess - def getSlutState(self, id): + def get_slut_state(self, id): result = self.openurl('http://www.adopteunmec.com/%s' % id).read() if result.find('en ligne') >= 0: r = 'online' @@ -242,7 +242,7 @@ def getSlutState(self, id): return r @pageaccess - def isSlutOnline(self, id): + def is_slut_online(self, id): result = self.openurl('http://www.adopteunmec.com/%s' % id).read() r = result.find('en ligne') >= 0 print 'isSlutOnline(%s) = %s' % (id, r) diff --git a/weboob/backends/aum/backend.py b/weboob/backends/aum/backend.py index c76df4cf3818cfc162472198f9e96fe807c91079..4369401905564a7fa133efabd9486fea8cfb1c74 100644 --- a/weboob/backends/aum/backend.py +++ b/weboob/backends/aum/backend.py @@ -25,5 +25,5 @@ class AuMBackend(Backend, ICapMessages, ICapMessagesReply): def __init__(self, weboob): Backend.__init__(self, weboob) - def iterNewMessages(self, thread=None): + def iter_new_messages(self, thread=None): pass diff --git a/weboob/backends/aum/mail.py b/weboob/backends/aum/mail.py index c42940ee1090052eff5346f1baea354b19c3046c..86e2a022e4c95eb3ce45ac434a8fcd182d52d35f 100644 --- a/weboob/backends/aum/mail.py +++ b/weboob/backends/aum/mail.py @@ -34,36 +34,36 @@ def __init__(self, id, name): self.content = '' self.date = datetime.datetime.utcnow() - def getDateInt(self): - return int(time.strftime('%Y%m%d%H%M%S', self.getDate().timetuple())) + def get_date_int(self): + return int(time.strftime('%Y%m%d%H%M%S', self.get_date().timetuple())) - def getMsgID(self, sender): - return '<%s.%d@%s>' % (self.getDateInt(), self.id, sender) + def get_msg_id(self, sender): + return '<%s.%d@%s>' % (self.get_date_int(), self.id, sender) - def getReplyID(self, sender): + def get_reply_id(self, sender): if self.reply_date: return '<%s.%d@%s>' % (self.reply_date, self.id, sender) else: return '' - def getID(self): + def get_id(self): return self.id - def getName(self): + def get_name(self): return self.name - def getDate(self): + def get_date(self): return self.date - def getProfileLink(self): + def get_profile_link(self): return self.profile_link - def getFrom(self): + def get_from(self): return self.sender - def getContent(self): + def get_content(self): return self.content - def isNew(self): + def is_new(self): return self.new diff --git a/weboob/backends/aum/pages/base.py b/weboob/backends/aum/pages/base.py index 5e5788b359cacf4fef932c224901c066c05d763b..bb56d213e440b25b2b8b18e4cb6e8cabe10932fe 100644 --- a/weboob/backends/aum/pages/base.py +++ b/weboob/backends/aum/pages/base.py @@ -23,10 +23,10 @@ from weboob.tools.browser import BasePage class PageBase(BasePage): - def openContactListPage(self): + def open_contact_list_page(self): self.browser.follow_link(url_regex=r"/mails.php$") - def openThreadPage(self, id): + def open_thread_page(self, id): self.browser.location('/thread.php?id=%d' % int(id)) def score(self): @@ -70,7 +70,7 @@ def __get_indicator(self, elementName): return 0 MYNAME_REGEXP = re.compile("Bonjour (.*)") - def getMyName(self): + def get_my_name(self): """ Bonjour Romain """ tags = self.document.getElementsByTagName('span') @@ -83,14 +83,14 @@ def getMyName(self): warning('Warning: Unable to fetch name') return '?' - def nbNewMails(self): + def nb_new_mails(self): return self.__get_indicator(u'mailsCounter') - def nbNewBaskets(self): + def nb_new_baskets(self): return self.__get_indicator(u'flashsCounter') - def nbNewVisites(self): + def nb_new_visites(self): return self.__get_indicator(u'visitesCounter') diff --git a/weboob/backends/aum/pages/contact_list.py b/weboob/backends/aum/pages/contact_list.py index 3944c6b6157bbed770b21fb4af90de26a3834a16..3c0ad361db02e10c4fb33dd63fdbde4e874f06f5 100644 --- a/weboob/backends/aum/pages/contact_list.py +++ b/weboob/backends/aum/pages/contact_list.py @@ -54,7 +54,7 @@ def __get_element(self, id): return self.tr.getElementsByTagName('td')[self.fields.index(id)] - def getName(self): + def get_name(self): tag = self.__get_element('name') node = tag.getElementsByTagName('b')[0].firstChild if node: @@ -65,24 +65,24 @@ def getName(self): return name - def getStatus(self): + def get_status(self): tag = self.__get_element('status') return tag.firstChild.data - def isNew(self): - return self.getStatus() == u'nouveau' + def is_new(self): + return self.get_status() == u'nouveau' - def isAnswered(self): - return self.getStatus() == u'répondu' + def is_answered(self): + return self.get_status() == u'répondu' - def getResume(self): + def get_resume(self): tag = self.__get_element('resume') return tag.getElementsByTagName('b')[0].firstChild.data.split('\n')[0] - def getID(self): + def get_id(self): tag = self.__get_element('thread_link') text = tag.getAttribute('onclick') @@ -113,5 +113,5 @@ def loaded(self): self.items += [ContactItem(tag)] - def getContactList(self): + def get_contact_list(self): return self.items diff --git a/weboob/backends/aum/pages/contact_thread.py b/weboob/backends/aum/pages/contact_thread.py index 94a16a17b16a1da77a8bab9a253b9811518aa4d1..2e04613daee15c157409807e6c6dec52ce41a4d9 100644 --- a/weboob/backends/aum/pages/contact_thread.py +++ b/weboob/backends/aum/pages/contact_thread.py @@ -113,7 +113,7 @@ def __init__(self, id, name, tr): for child in td.childNodes[1].childNodes: if hasattr(child, 'data'): date += child.data - self.parseDate(date) + self.parse_date(date) content = '' for c in td.childNodes[3].childNodes: if hasattr(c, 'data'): @@ -131,10 +131,10 @@ def __init__(self, id, name, tr): self.content = content break - self.parseProfileLink() - self.parseFrom() + self.parse_profile_link() + self.parse_from() - def parseDate(self, date_str): + def parse_date(self, date_str): # To match regexp, we have to remove any return chars in string @@ -161,7 +161,7 @@ def parseDate(self, date_str): else: error('Error: unable to parse the datetime string "%s"' % date_str) - def parseProfileLink(self): + def parse_profile_link(self): tables = self.tr.getElementsByTagName('div') for table in tables: @@ -176,9 +176,9 @@ def parseProfileLink(self): self.profile_link = m.group(1) return - warning('Unable to find the profile URL in the message %s@%s' % (self.getFrom(), self.getID())) + warning('Unable to find the profile URL in the message %s@%s' % (self.get_from(), self.get_id())) - def parseFrom(self): + def parse_from(self): tds = self.tr.getElementsByTagName('div') for td in tds: @@ -190,7 +190,7 @@ def parseFrom(self): return - warning('Warning: unable to find from in the mail %s' % self.getID()) + warning('Warning: unable to find from in the mail %s' % self.get_id()) class ContactThreadPage(PageBase): @@ -308,9 +308,9 @@ def loaded(self): mail = MailParser(self.id, self.name, tag) if self.items: - self.items[-1].reply_date = mail.getDateInt() + self.items[-1].reply_date = mail.get_date_int() self.items += [mail] - def getMails(self): + def get_mails(self): return self.items diff --git a/weboob/backends/aum/pages/edit.py b/weboob/backends/aum/pages/edit.py index 46b13c6b08a5e6285a24129c6cc2a4d69e563c8c..6c0290db58af6b8d8f1df6895fc3f320721fdf79 100644 --- a/weboob/backends/aum/pages/edit.py +++ b/weboob/backends/aum/pages/edit.py @@ -21,7 +21,7 @@ from weboob.backends.aum.pages.base import PageBase class EditPhotoPage(PageBase): - def addPhoto(self, name, f): + def add_photo(self, name, f): self.browser.select_form(name="form") self.browser.find_control('uploaded').add_file(f, 'image/jpeg', name) self.browser.submit() @@ -32,12 +32,12 @@ class EditPhotoCbPage(PageBase): pass class EditAnnouncePage(PageBase): - def setNickname(self, nickname): + def set_nickname(self, nickname): self.browser.select_form(name="form") self.browser['pseudo'] = nickname self.browser.submit() - def setAnnounce(self, title=None, description=None, lookingfor=None): + def set_announce(self, title=None, description=None, lookingfor=None): self.browser.select_form(name="form") self.browser.set_field(kwargs, 'title') self.browser.set_field(kwargs, 'description', field='about1') @@ -56,7 +56,7 @@ class EditDescriptionPage(PageBase): DRINKS = ['--', 'jamais', 'de temps en temps', 'souvent', 'pilier de bar'] SMOKES = ['--', u'ne tolère pas la fumée', u'tolère la fumée', 'fume de temps en temps', 'fume souvent'] - def setDescription(self, **kwargs): + def set_description(self, **kwargs): self.browser.select_form(name='form') self.browser.set_field(kwargs, 'height', field='size', is_list=True) diff --git a/weboob/backends/aum/pages/home.py b/weboob/backends/aum/pages/home.py index cb46e24522168c8b69908bda3f77b56cfcd59dcd..1ae02e1b6459f1826809510925a111ed8318a29b 100644 --- a/weboob/backends/aum/pages/home.py +++ b/weboob/backends/aum/pages/home.py @@ -27,7 +27,7 @@ class HomePage(PageBase): MYID_REGEXP = re.compile("http://www.adopteunmec.com/\?mid=(\d+)") - def getMyID(self): + def get_my_id(self): fonts = self.document.getElementsByTagName('font') for font in fonts: m = self.MYID_REGEXP.match(font.firstChild.data) @@ -37,7 +37,7 @@ def getMyID(self): error("Error: Unable to find my ID") return 0 - def nbAvailableCharms(self): + def nb_available_charms(self): tables = self.document.getElementsByTagName('table') for table in tables: if table.hasAttribute('style') and table.getAttribute('style') == 'background-color:black;background-image:url(http://s.adopteunmec.com/img/barmec.gif);background-repeat:no-repeat': diff --git a/weboob/backends/aum/pages/profile.py b/weboob/backends/aum/pages/profile.py index 651bb40c1c6667ad69e8acf22f56727354a226d3..db89c122ffb48e5fc7a5acb50abeb43e8a9ed896 100644 --- a/weboob/backends/aum/pages/profile.py +++ b/weboob/backends/aum/pages/profile.py @@ -28,27 +28,27 @@ class FieldBase: def __init__(self, key): self.key = key - def putValue(self, d, value): + def put_value(self, d, value): raise NotImplementedError class FieldString(FieldBase): - def putValue(self, d, value): + def put_value(self, d, value): d[self.key] = unicode(value) class FieldList(FieldBase): - def putValue(self, d, value): + def put_value(self, d, value): d[self.key] = value.split(', ') class FieldWideList(FieldBase): - def putValue(self, d, value): + def put_value(self, d, value): d[self.key] += [value] class FieldOld(FieldBase): regexp = re.compile(u'([0-9]+) ans( \(Née le ([0-9]+) ([^ ]+) ([0-9]+)\))?') month2i = ['', 'janvier', u'février', 'mars', 'avril', 'mai', 'juin', 'juillet', u'août', 'septembre', 'octobre', 'novembre', u'décembre'] - def putValue(self, d, value): + def put_value(self, d, value): m = self.regexp.match(value) warning(value) if not m: @@ -70,7 +70,7 @@ class FieldLocation(FieldBase): def __init__(self): FieldBase.__init__(self, '') - def putValue(self, d, value): + def put_value(self, d, value): # TODO: determine distance, or something like m = self.location.match(value) if m: @@ -88,7 +88,7 @@ class FieldMeasurements(FieldBase): def __init__(self): FieldBase.__init__(self, '') - def putValue(self, d, value): + def put_value(self, d, value): for s in value.split(', '): m = self.height.match(s) if m: @@ -114,7 +114,7 @@ def putValue(self, d, value): class FieldParticularSignes(FieldBase): def __init__(self): FieldBase.__init__(self, '') - def putValue(self, d, value): + def put_value(self, d, value): for s in value.split(', '): if s.find('tatouages') >= 0: d['tatoos'] = True @@ -284,10 +284,10 @@ def loaded(self): for div in divs: if div.hasAttribute('id'): if div.getAttribute('id') == 'about_div': - self.parseDescription(div) + self.parse_description(div) if div.getAttribute('id').startswith('tab_'): - self.parseTable(div) + self.parse_table(div) for tag in ('img', 'td'): imgs = self.document.getElementsByTagName(tag) @@ -300,7 +300,7 @@ def loaded(self): if self.id: break - def parseDescription(self, div): + def parse_description(self, div): # look for description description = '' @@ -312,7 +312,7 @@ def parseDescription(self, div): self.description = description - def parseTable(self, div): + def parse_table(self, div): d = self.table[self.tables[div.getAttribute('id')]] fields = self.fields[self.tables[div.getAttribute('id')]] @@ -354,7 +354,7 @@ def parseTable(self, div): if label1 and value2: # This is a typically tuple of key/value on the line. try: - fields[label1].putValue(d, value2) + fields[label1].put_value(d, value2) except KeyError: warning('Unable to find "%s" (%s)' % (label1, repr(label1))) elif label1 and label2: @@ -365,45 +365,45 @@ def parseTable(self, div): elif not label1 and not label1: # two values, so it is a line of values if field1 and value1: - field1.putValue(d, value1) + field1.put_value(d, value1) if field2 and value2: - field2.putValue(d, value2) + field2.put_value(d, value2) - def getName(self): + def get_name(self): return self.name - def getDescription(self): + def get_description(self): return self.description - def getTable(self): + def get_table(self): return self.table - def getID(self): + def get_id(self): return self.id - def getPhotos(self): + def get_photos(self): return self.photos - def getStatus(self): + def get_status(self): return self.status - def isOnline(self): + def is_online(self): return self.status.find('en ligne') >= 0 - def getStats(self): + def get_stats(self): return self.stats - def getProfileText(self): + def get_profile_text(self): body = u'Status: %s' % unicode(self.status) if self.photos: body += u'\nPhotos:' for photo in self.photos: body += u'\n\t\t%s' % unicode(photo) body += u'\nStats:' - for label, value in self.getStats().iteritems(): + for label, value in self.get_stats().iteritems(): body += u'\n\t\t%-15s %s' % (label + ':', value) body += u'\n\nInformations:' - for section, d in self.getTable().iteritems(): + for section, d in self.get_table().iteritems(): body += u'\n\t%s\n' % section for key, value in d.items(): key = '%s:' % key @@ -413,7 +413,7 @@ def getProfileText(self): body += u'\t\t%-15s %.2f\n' % (key, value) else: body += u'\t\t%-15s %s\n' % (key, unicode(value)) - body += u'\n\nDescription:\n%s' % unicode(self.getDescription()) + body += u'\n\nDescription:\n%s' % unicode(self.get_description()) return body diff --git a/weboob/backends/aum/pages/profileslist_base.py b/weboob/backends/aum/pages/profileslist_base.py index 5b35279d7dc69c0bb32aeeddd490c04378ce9e0c..f1721215a526221a352b80ff1bb1ca65ad181c3b 100644 --- a/weboob/backends/aum/pages/profileslist_base.py +++ b/weboob/backends/aum/pages/profileslist_base.py @@ -43,8 +43,8 @@ def loaded(self): m and (self.SHOW_WITHOUT_PHOTO or m.group(1) != self.WITHOUT_PHOTO): self.id_list.append(url) - def getProfilesIDs(self): + def get_profiles_ids(self): return set(self.id_list) - def getProfilesIDsList(self): + def get_profiles_ids_list(self): return self.id_list diff --git a/weboob/backends/aum/pages/wait.py b/weboob/backends/aum/pages/wait.py index 09edc61fb8fad615af6eb71dabd6b74a24f382d0..f379c35e14c6c9cc2617b0af3c25190bb1033ed2 100644 --- a/weboob/backends/aum/pages/wait.py +++ b/weboob/backends/aum/pages/wait.py @@ -31,7 +31,7 @@ def check(self): result = self.browser.openurl('http://www.adopteunmec.com/fajax_checkEnter.php?anticache=0.46168455299380795').read() return result == 'Ok' - def processWait(self): + def process_wait(self): while not self.check(self): sleep(10) diff --git a/weboob/backends/dlfp/backend.py b/weboob/backends/dlfp/backend.py index 026393a94b84184ce07ac780df77827a44d24dc8..98fa067e4ff35d3f9541c113df3a373008f8cfb3 100644 --- a/weboob/backends/dlfp/backend.py +++ b/weboob/backends/dlfp/backend.py @@ -26,7 +26,8 @@ class DLFPBackend(Backend, ICapMessages, ICapMessagesReply): def __init__(self, weboob): Backend.__init__(self, weboob) - def iterNewMessages(self, thread=None): + def iter_new_messages(self, thread=None): articles_list = ArticlesList('newspaper') for id, author, title in articles_list.iter_articles(): - yield Message('threadid', id, title, author, signature='Bite bite bite bite', content='Content content\nContent content.') + yield Message('threadid', id, title, author, signature='Bite bite bite bite', + content='Content content\nContent content.') diff --git a/weboob/backends/dlfp/browser.py b/weboob/backends/dlfp/browser.py index 5a8ded0c36e18fbb2674535820da923b18961a45..4049e1261e5e651618c0ba896ca768b2bb68cf25 100644 --- a/weboob/backends/dlfp/browser.py +++ b/weboob/backends/dlfp/browser.py @@ -36,5 +36,5 @@ def home(self): def login(self): self.location('/login.html', 'login=%s&passwd=%s&isauto=1' % (self.username, self.password)) - def isLogged(self): - return (self.page and self.page.isLogged()) + def is_logged(self): + return (self.page and self.page.is_logged()) diff --git a/weboob/backends/dlfp/pages/index.py b/weboob/backends/dlfp/pages/index.py index e0dea65d67e7afafbf563fcbb5eda1aad0bff67a..e8755069a7e9a4ed7f5c742c18059dcdeb5a1d02 100644 --- a/weboob/backends/dlfp/pages/index.py +++ b/weboob/backends/dlfp/pages/index.py @@ -21,7 +21,7 @@ from weboob.tools.browser import BrowserIncorrectPassword, BasePage class DLFPPage(BasePage): - def isLogged(self): + def is_logged(self): forms = self.document.getElementsByTagName('form') for form in forms: if form.getAttribute('id') == 'formulaire': @@ -35,10 +35,10 @@ class IndexPage(DLFPPage): class LoginPage(DLFPPage): def loaded(self): - if self.hasError(): + if self.has_error(): raise BrowserIncorrectPassword() - def hasError(self): + def has_error(self): plist = self.document.getElementsByTagName('p') for p in plist: p = p.childNodes[0] diff --git a/weboob/capabilities/messages.py b/weboob/capabilities/messages.py index 29976f303d99538988522400faa8a43f5827b18a..f0c2e66c1e5d74521103261fdbaf07e1a64dbf2a 100644 --- a/weboob/capabilities/messages.py +++ b/weboob/capabilities/messages.py @@ -36,53 +36,44 @@ def __init__(self, thread_id, _id, title, sender, date=None, reply_id=u'', conte date = datetime.datetime.utcnow() self.date = date - def getDateInt(self): - return int(time.strftime('%Y%m%d%H%M%S', self.getDate().timetuple())) + def get_date_int(self): + return int(time.strftime('%Y%m%d%H%M%S', self.get_date().timetuple())) - def getFullID(self): + def get_full_id(self): return '%s.%s' % (self._id, self.thread_id) - def getFullReplyID(self): + def get_full_reply_id(self): return '%s.%s' % (self.reply_id, self.thread_id) - def getID(self): + def get_id(self): return self._id - def getThreadID(self): + def get_thread_id(self): return self.thread_id - def getReplyID(self): + def get_reply_id(self): return self.reply_id - def getTitle(self): + def get_title(self): return self.title - def getDate(self): + def get_date(self): return self.date - def getFrom(self): + def get_from(self): return self.sender - def getContent(self): + def get_content(self): return self.content - def getSignature(self): + def get_signature(self): return self.signature - def isNew(self): + def is_new(self): return self.new class ICapMessages: - def getNewMessages(self, thread=None): - """ - Get new messages from last time this function has been called. - - @param thread [str] if given, get new messages for a specific thread. - @return [list] a list of Message objects. - """ - return [m for m in self.iterNewMessages(thread)] - - def iterNewMessages(self, thread=None): + def iter_new_messages(self, thread=None): """ Iterates on new messages from last time this function has been called. @@ -92,5 +83,5 @@ def iterNewMessages(self, thread=None): raise NotImplementedError() class ICapMessagesReply: - def postReply(self, message): + def post_reply(self, message): raise NotImplementedError() diff --git a/weboob/modules.py b/weboob/modules.py index 75a23a452c198520d7e409057fde45acb46e6180..5ef0f9e046ebf8912186a477bac176a368b7b6c5 100644 --- a/weboob/modules.py +++ b/weboob/modules.py @@ -39,7 +39,7 @@ def __init__(self, name, module): if not self.klass: raise ImportError("This is not a backend module (no Backend class found)") - def hasCaps(self, caps): + def has_caps(self, caps): if not isinstance(caps, (list,tuple)): caps = (caps,) @@ -48,7 +48,7 @@ def hasCaps(self, caps): return True return False - def createBackend(self, weboob): + def create_backend(self, weboob): return self.klass(weboob) class ModulesLoader: diff --git a/weboob/ouiboube.py b/weboob/ouiboube.py index 123a2d9e764ec74d3fb67e9686459141f80eacfe..2c5db1f10e0c6121e2f74b823af6da6c2804bccd 100644 --- a/weboob/ouiboube.py +++ b/weboob/ouiboube.py @@ -38,30 +38,30 @@ def __init__(self, app_name, config_file=CONFIG_FILE, data_dir=DATA_DIR): self.modules_loader = ModulesLoader() self.modules_loader.load() - def getFrontendConfig(self, default={}): + def get_frontend_config(self, default={}): return self.config.get('frontends', self.app_name, default=default) - def getBackendConfig(self, backend_name, default={}): + def get_backend_config(self, backend_name, default={}): return self.config.get('backends', backend_name, default=default) - def loadmodules(self, caps=None, name=None): + def load_modules(self, caps=None, name=None): for name, module in self.modules_loader.modules.iteritems(): - if (not caps or module.hasCaps(caps)) and \ + if (not caps or module.has_caps(caps)) and \ (not name or module.name == name): - backend = module.createBackend(self) + backend = module.create_backend(self) self.backends[module.name] = backend - def loadmodule(self, modname, instname): + def load_module(self, modname, instname): module = self.modules_loader[modname] - self.backends[instname] = module.createBackend(self) + self.backends[instname] = module.create_backend(self) - def getBackends(self, caps=None): + def get_backends(self, caps=None): if caps is None: return self.backends d = {} for name, backend in self.backends.iteritems(): - if backend.hasCaps(caps): + if backend.has_caps(caps): d[name] = backend return d diff --git a/weboob/tools/application.py b/weboob/tools/application.py index 074327c8a250643e42a9fec272324455e9ab10c1..9849d00dfa662f2ba0ebecbcd1bc3dc5ad621e16 100644 --- a/weboob/tools/application.py +++ b/weboob/tools/application.py @@ -31,7 +31,7 @@ class BaseApplication(object): def __init__(self): self.weboob = Weboob(self.APPNAME) - self.config = self.weboob.getFrontendConfig(self.CONFIG) + self.config = self.weboob.get_frontend_config(self.CONFIG) def ask(self, question, default=None, masked=False, regexp=None): """ diff --git a/weboob/tools/browser.py b/weboob/tools/browser.py index e115d83e3be174298b3f1cb383287ee42b9799e7..35678f10c5cf02d0e3ff2e4a9c2fdfc4eb8c168e 100644 --- a/weboob/tools/browser.py +++ b/weboob/tools/browser.py @@ -79,7 +79,7 @@ def login(self): raise NotImplementedError() # Return True if we are logged on website - def isLogged(self): + def is_logged(self): raise NotImplementedError() # ------ Browser methods --------------------------------------- @@ -111,7 +111,7 @@ def __init__(self, username, password=None, firefox_cookies=None): def pageaccess(func): def inner(self, *args, **kwargs): - if not self.page or not self.page.isLogged() and self.password: + if not self.page or not self.page.is_logged() and self.password: self.home() return func(self, *args, **kwargs) @@ -152,7 +152,7 @@ def submit(self, *args, **kwargs): self.home() raise BrowserUnavailable() - def isOnPage(self, pageCls): + def is_on_page(self, pageCls): return isinstance(self.page, pageCls) def follow_link(self, *args, **kwargs): @@ -184,7 +184,7 @@ def location(self, *args, **kwargs): self.home() self.location(*keep_args, **keep_kwargs) - def __changeLocation(self, result): + def __change_location(self, result): # Find page from url pageCls = None for key, value in self.PAGES.items(): @@ -211,7 +211,7 @@ def __changeLocation(self, result): self.page = pageCls(self, document, result.geturl()) self.page.loaded() - if not self.isLogged() and self.password: + if not self.is_logged() and self.password: print '!! Relogin !!' self.login() return diff --git a/weboob2mail b/weboob2mail index 51be67133f9706c3545d20bfd930bd16f19f0954..8a57e09040b2da527d06daeb4bc90143ef10be83 100755 --- a/weboob2mail +++ b/weboob2mail @@ -50,16 +50,16 @@ class Application(BaseApplication): print >>sys.stderr, "Also, you need to use 'weboobcfg' to set backend configs" return -1 - self.weboob.loadmodules(ICapMessages) + self.weboob.load_modules(ICapMessages) self.weboob.schedule(self.config['interval'], self.process) self.weboob.config.save() self.weboob.loop() def process(self): - backends = self.weboob.getBackends() + backends = self.weboob.get_backends() for name, b in backends.iteritems(): - for message in b.iterNewMessages(): + for message in b.iter_new_messages(): self.send_email(name, message) def send_email(self, backend_name, mail): @@ -67,19 +67,19 @@ class Application(BaseApplication): recipient = self.config['recipient'] reply_id = '' - if mail.getReplyID(): - reply_id = u'%s.%s@%s' % (backend_name, mail.getFullReplyID(), domain) - subject = u'%s%s' % ((reply_id) and 'Re: ' or '', mail.getTitle()) - sender = u'%s <%s.%s.%s@%s>' % (mail.getFrom(), backend_name, mail.getThreadID(), mail.getID(), domain) + if mail.get_reply_id(): + reply_id = u'%s.%s@%s' % (backend_name, mail.get_full_reply_id(), domain) + subject = u'%s%s' % ((reply_id) and 'Re: ' or '', mail.get_title()) + sender = u'%s <%s.%s.%s@%s>' % (mail.get_from(), backend_name, mail.get_thread_id(), mail.get_id(), domain) - # assume that getDate() returns an UTC datetime - date = time.strftime('%a, %d %b %Y %H:%M:%S +0000', mail.getDate().timetuple()) - msg_id = u'%s.%s@%s' % (backend_name, mail.getFullID(), domain) - body = mail.getContent() + # assume that get_date() returns an UTC datetime + date = time.strftime('%a, %d %b %Y %H:%M:%S +0000', mail.get_date().timetuple()) + msg_id = u'%s.%s@%s' % (backend_name, mail.get_full_id(), domain) + body = mail.get_content() - if mail.getSignature(): + if mail.get_signature(): body += u'\n\n-- \n' - body += mail.getSignature() + body += mail.get_signature() # Header class is smart enough to try US-ASCII, then the charset we # provide, then fall back to UTF-8.