Rename BasePage to Page

This commit is contained in:
Florent 2014-09-23 10:50:25 +02:00
commit 444d36eee8
146 changed files with 525 additions and 525 deletions

View file

@ -330,7 +330,7 @@ Then, each method on your browser which need your user to be authenticated may b
return self.page.get_accounts()
The last thing to know is that :func:`need_login <weboob.tools.browser2.page.need_login>` checks if the current page is a logged one by
reading the attribute :func:`logged <weboob.tools.browser2.page.BasePage.logged>` of the instance. You can either define it yourself, as a
reading the attribute :func:`logged <weboob.tools.browser2.page.Page.logged>` of the instance. You can either define it yourself, as a
class boolean attribute or as a property, or to inherit your class from :class:`LoggedPage <weboob.tools.browser2.page.LoggedPage>`.

View file

@ -20,10 +20,10 @@
from weboob.capabilities.recipe import Recipe, Comment
from weboob.capabilities.base import NotAvailable, NotLoaded
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
class ResultsPage(BasePage):
class ResultsPage(Page):
""" Page which contains results as a list of recipies
"""
def iter_recipes(self):
@ -62,7 +62,7 @@ class ResultsPage(BasePage):
yield recipe
class RecipePage(BasePage):
class RecipePage(Page):
""" Page which contains a recipe
"""
def get_recipe(self, id):

View file

@ -18,7 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.tools.html import html2text
from .job import AdeccoJobAdvert
import datetime
@ -27,7 +27,7 @@ import re
MONTHS = [u'janvier', u'février', u'mars', u'avril', u'mai', u'juin', u'juillet', u'août', u'septembre', u'octobre', u'novembre', u'décembre']
class SearchPage(BasePage):
class SearchPage(Page):
def iter_job_adverts(self):
re_id = re.compile('http://www.adecco.fr/trouver-un-emploi/Pages/Details-de-l-Offre/(.*?)/(.*?).aspx\?IOF=(.*?)$', re.DOTALL)
@ -55,7 +55,7 @@ class SearchPage(BasePage):
yield advert
class AdvertPage(BasePage):
class AdvertPage(Page):
def get_job_advert(self, url, advert):
re_id = re.compile('http://www.adecco.fr/trouver-un-emploi/Pages/Details-de-l-Offre/(.*?)/(.*?).aspx\?IOF=(.*?)$', re.DOTALL)
if advert is None:

View file

@ -20,14 +20,14 @@
from weboob.capabilities.recipe import Recipe
from weboob.capabilities.base import NotAvailable, NotLoaded
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
class FourOFourPage(BasePage):
class FourOFourPage(Page):
pass
class ResultsPage(BasePage):
class ResultsPage(Page):
""" Page which contains results as a list of recipies
"""
def iter_recipes(self):
@ -56,7 +56,7 @@ class ResultsPage(BasePage):
yield recipe
class RecipePage(BasePage):
class RecipePage(Page):
""" Page which contains a recipe
"""
def get_recipe(self, id):

View file

@ -22,14 +22,14 @@ from datetime import datetime
import re
import urllib
from decimal import Decimal
from weboob.tools.browser import BasePage,BrokenPageError
from weboob.tools.browser import Page, BrokenPageError
from weboob.capabilities.bill import Subscription, Detail, Bill
# Ugly array to avoid the use of french locale
FRENCH_MONTHS = [u'janvier', u'février', u'mars', u'avril', u'mai', u'juin', u'juillet', u'août', u'septembre', u'octobre', u'novembre', u'décembre']
class AmeliBasePage(BasePage):
class AmeliBasePage(Page):
def is_logged(self):
try:
self.parser.select(self.document.getroot(), 'a.logout', 1)

View file

@ -22,7 +22,7 @@ from datetime import datetime
from decimal import Decimal
import re
import urllib
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.capabilities.bill import Subscription, Detail, Bill
@ -30,7 +30,7 @@ from weboob.capabilities.bill import Subscription, Detail, Bill
FRENCH_MONTHS = [u'janvier', u'février', u'mars', u'avril', u'mai', u'juin', u'juillet', u'août', u'septembre', u'octobre', u'novembre', u'décembre']
class LoginPage(BasePage):
class LoginPage(Page):
def login(self, login, password):
self.browser.select_form('connexionCompteForm')
self.browser["vp_connexion_portlet_1numPS"] = login.encode('utf8')
@ -38,13 +38,13 @@ class LoginPage(BasePage):
self.browser.submit()
class HomePage(BasePage):
class HomePage(Page):
def on_loaded(self):
pass
class AccountPage(BasePage):
class AccountPage(Page):
def get_subscription_list(self):
ident = self.document.xpath('//div[@id="identification"]')[0]
@ -59,7 +59,7 @@ class AccountPage(BasePage):
return sub
class HistoryPage(BasePage):
class HistoryPage(Page):
def iter_history(self):
table = self.document.xpath('//table[contains(concat(" ", @class, " "), " cTableauTriable ")]')[0].xpath('.//tr')
@ -83,7 +83,7 @@ class HistoryPage(BasePage):
yield det
class BillsPage(BasePage):
class BillsPage(Page):
def iter_bills(self):
table = self.document.xpath('//table[@id="releveCompteMensuel"]')[0].xpath('.//tr')

View file

@ -22,14 +22,14 @@ import datetime
from decimal import Decimal
import re
from weboob.tools.browser import BasePage, BrokenPageError
from weboob.tools.browser import Page, BrokenPageError
from weboob.capabilities.bank import Account
from weboob.capabilities import NotAvailable
from weboob.tools.capabilities.bank.transactions import FrenchTransaction as Transaction
from weboob.tools.date import ChaoticDateGuesser
class LoginPage(BasePage):
class LoginPage(Page):
def login(self, username, password):
self.browser.select_form(name='ssoform')
self.browser.set_all_readonly(False)
@ -40,7 +40,7 @@ class LoginPage(BasePage):
self.browser.submit(nologin=True)
class AccountsPage(BasePage):
class AccountsPage(Page):
def get_list(self):
for box in self.document.getroot().cssselect('div.roundedBox div.contentBox'):
a = Account()
@ -56,7 +56,7 @@ class AccountsPage(BasePage):
yield a
class TransactionsPage(BasePage):
class TransactionsPage(Page):
COL_ID = 0
COL_DATE = 1
COL_DEBIT_DATE = 2

View file

@ -18,7 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.tools.html import html2text
import dateutil.parser
import re
@ -26,7 +26,7 @@ import re
from .job import ApecJobAdvert
class SearchPage(BasePage):
class SearchPage(Page):
def iter_job_adverts(self):
re_id_title = re.compile('/offres-emploi-cadres/\d*_\d*_\d*_(.*?)_(.*?)_(.*?)_(.*?)_(.*?)_(.*?)_(.*?)_(.*?)_(.*?).html', re.DOTALL)
divs = self.document.getroot().xpath("//div[@class='boxContent offre']") + self.document.getroot().xpath("//div[@class='boxContent offre even']")
@ -43,7 +43,7 @@ class SearchPage(BasePage):
yield advert
class AdvertPage(BasePage):
class AdvertPage(Page):
def get_job_advert(self, url, advert):
re_id_title = re.compile('/offres-emploi-cadres/\d*_\d*_\d*_(.*?)________(.*?).html(.*?)', re.DOTALL)
if advert is None:

View file

@ -21,11 +21,11 @@
from decimal import Decimal
from weboob.capabilities.bank import Account
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
class LoginPage(BasePage):
class LoginPage(Page):
def login(self, username, password):
self.browser.select_form(nr=0)
self.browser['_58_login'] = username.encode('utf-8')
@ -33,7 +33,7 @@ class LoginPage(BasePage):
self.browser.submit(nologin=True)
class AccountsPage(BasePage):
class AccountsPage(Page):
COL_LABEL = 0
COL_OWNER = 1
COL_ID = 2
@ -59,7 +59,7 @@ class Transaction(FrenchTransaction):
pass
class OperationsPage(BasePage):
class OperationsPage(Page):
COL_DATE = 0
COL_LABEL = 1
COL_AMOUNT = 2

View file

@ -21,14 +21,14 @@ import re
from weboob.capabilities.base import UserError
from weboob.capabilities.image import BaseImage
from weboob.tools.browser import BasePage, BrokenPageError
from weboob.tools.browser import Page, BrokenPageError
from weboob.capabilities import NotAvailable
from .video import ArretSurImagesVideo
class IndexPage(BasePage):
class IndexPage(Page):
def iter_videos(self):
videos = self.document.getroot().cssselect("div[class=bloc-contenu-8]")
for div in videos:
@ -55,7 +55,7 @@ class ForbiddenVideo(UserError):
pass
class VideoPage(BasePage):
class VideoPage(Page):
def is_logged(self):
try:
self.parser.select(self.document.getroot(), '#user-info', 1)
@ -106,7 +106,7 @@ class VideoPage(BasePage):
return url
class LoginPage(BasePage):
class LoginPage(Page):
def login(self, username, password):
response = self.browser.response()
response.set_data(response.get_data().replace("<br/>", "<br />")) # Python mechanize is broken, fixing it.
@ -119,5 +119,5 @@ class LoginPage(BasePage):
self.browser.submit()
class LoginRedirectPage(BasePage):
class LoginRedirectPage(Page):
pass

View file

@ -18,7 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.tools.html import html2text
from weboob.capabilities import NotAvailable
from weboob.capabilities.image import BaseImage
@ -26,7 +26,7 @@ from weboob.capabilities.collection import Collection
from .video import ArteLiveVideo
class ArteLiveVideoPage(BasePage):
class ArteLiveVideoPage(Page):
def get_video(self, video=None):
if not video:
video = ArteLiveVideo(self.group_dict['id'])
@ -43,7 +43,7 @@ class ArteLiveVideoPage(BasePage):
return json_url, video
class ArteLivePage(BasePage):
class ArteLivePage(Page):
def iter_resources(self):
items = list()
for el in self.document.xpath('//ul[@class="filter-liste"]/li'):

View file

@ -20,10 +20,10 @@
from weboob.capabilities.subtitle import Subtitle
from weboob.capabilities.base import NotAvailable
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
class SearchPage(BasePage):
class SearchPage(Page):
def iter_subtitles(self, language, pattern):
fontresult = self.parser.select(self.document.getroot(), 'div.search-results font.search-results')
# for each result in freefind, explore the subtitle list page to iter subtitles
@ -37,7 +37,7 @@ class SearchPage(BasePage):
yield subtitle
class SubtitlesPage(BasePage):
class SubtitlesPage(Page):
def get_subtitle(self, id):
href = id.split('|')[1]
# we have to find the 'tr' which contains the link to this address

View file

@ -22,7 +22,7 @@ import urllib
from decimal import Decimal, InvalidOperation
import re
from weboob.tools.browser import BasePage as _BasePage, BrowserUnavailable, BrokenPageError
from weboob.tools.browser import Page as _BasePage, BrowserUnavailable, BrokenPageError
from weboob.capabilities.bank import Account
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard

View file

@ -24,7 +24,7 @@ from decimal import Decimal
import re
from mechanize import Cookie, FormNotFoundError
from weboob.tools.browser import BasePage as _BasePage, BrowserUnavailable, BrokenPageError
from weboob.tools.browser import Page as _BasePage, BrowserUnavailable, BrokenPageError
from weboob.capabilities.bank import Account
from weboob.tools.capabilities.bank.transactions import FrenchTransaction

View file

@ -22,12 +22,12 @@ import datetime
from decimal import Decimal
import re
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.capabilities.bank import Account
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
class LoginPage(BasePage):
class LoginPage(Page):
def login(self, login, passwd):
self.browser.select_form(name='frmLogin')
self.browser['username'] = login.encode(self.browser.ENCODING)
@ -41,7 +41,7 @@ class LoginPage(BasePage):
return True
class Login2Page(BasePage):
class Login2Page(Page):
def login(self, secret):
label = self.document.xpath('//span[@class="PF_LABEL"]')[0].text.strip()
letters = ''
@ -53,11 +53,11 @@ class Login2Page(BasePage):
self.browser.submit(name='valider', nologin=True)
class IndexPage(BasePage):
class IndexPage(Page):
pass
class AccountsPage(BasePage):
class AccountsPage(Page):
ACCOUNT_TYPES = {u'Epargne': Account.TYPE_SAVINGS,
u'Liquidités': Account.TYPE_CHECKING,
u'Titres': Account.TYPE_MARKET,
@ -170,7 +170,7 @@ class Transaction(FrenchTransaction):
]
class HistoryBasePage(BasePage):
class HistoryBasePage(Page):
def get_history(self):
self.logger.warning('Do not support account of type %s' % type(self).__name__)
return iter([])

View file

@ -24,7 +24,7 @@ from datetime import datetime
import re
from weboob.capabilities.bank import Account
from weboob.tools.browser import BasePage, BrokenPageError
from weboob.tools.browser import Page, BrokenPageError
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard, VirtKeyboardError
from weboob.tools.misc import to_unicode
@ -50,7 +50,7 @@ class Transaction(FrenchTransaction):
]
class BEPage(BasePage):
class BEPage(Page):
def get_error(self):
for title in self.document.xpath('/html/head/title'):
if 'erreur' in title.text or 'error' in title.text:

View file

@ -24,10 +24,10 @@ from decimal import Decimal
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
from weboob.capabilities.bank import Account
from weboob.capabilities.base import NotAvailable
from weboob.tools.browser import BasePage, BrokenPageError, BrowserPasswordExpired
from weboob.tools.browser import Page, BrokenPageError, BrowserPasswordExpired
class AccountsList(BasePage):
class AccountsList(Page):
ACCOUNT_TYPES = {
u'Liquidités': Account.TYPE_CHECKING,
u'Epargne disponible': Account.TYPE_SAVINGS,

View file

@ -22,7 +22,7 @@ import time
import re
import urllib
from weboob.tools.browser import BasePage, BrowserUnavailable
from weboob.tools.browser import Page, BrowserUnavailable
from weboob.tools.captcha.virtkeyboard import VirtKeyboard, VirtKeyboardError
@ -72,7 +72,7 @@ class BNPVirtKeyboard(VirtKeyboard):
return code
class LoginPage(BasePage):
class LoginPage(Page):
def on_loaded(self):
for td in self.document.getroot().cssselect('td.LibelleErreur'):
if td.text is None:
@ -101,7 +101,7 @@ class LoginPage(BasePage):
self.browser.location(url, urllib.urlencode(params))
class ConfirmPage(BasePage):
class ConfirmPage(Page):
def get_error(self):
for td in self.document.xpath('//td[@class="hdvon1"]'):
if td.text:
@ -115,12 +115,12 @@ class ConfirmPage(BasePage):
return m.group(1)
class InfoMessagePage(BasePage):
class InfoMessagePage(Page):
def on_loaded(self):
pass
class ChangePasswordPage(BasePage):
class ChangePasswordPage(Page):
def change_password(self, current, new):
try:
vk=BNPVirtKeyboard(self)

View file

@ -18,7 +18,7 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from weboob.tools.browser import BasePage, BrokenPageError
from weboob.tools.browser import Page, BrokenPageError
from weboob.capabilities.messages import Message, Thread
from weboob.capabilities.base import NotLoaded
from weboob.tools.capabilities.messages.genericArticle import try_drop_tree
@ -29,7 +29,7 @@ from datetime import datetime
from lxml.html import make_links_absolute
class MessagesPage(BasePage):
class MessagesPage(Page):
def iter_threads(self):
table = self.parser.select(self.document.getroot(), 'table#listeMessages', 1)
for tr in table.xpath('./tr'):
@ -61,7 +61,7 @@ class MessagesPage(BasePage):
yield thread
class MessagePage(BasePage):
class MessagePage(Page):
def get_content(self):
"""
Get the message content.

View file

@ -20,7 +20,7 @@
import re
from weboob.tools.browser import BasePage
from weboob.tools.browser import Page
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
@ -48,7 +48,7 @@ class Transaction(FrenchTransaction):
]
class AccountHistory(BasePage):
class AccountHistory(Page):
def iter_operations(self):
for tr in self.document.xpath('//table[@id="tableCompte"]//tr'):
if len(tr.xpath('td[@class="debit"]')) == 0:

Some files were not shown because too many files have changed in this diff Show more