Rename BaseBrowser to Browser
This commit is contained in:
parent
444d36eee8
commit
0088013ae1
132 changed files with 348 additions and 348 deletions
|
|
@ -65,7 +65,7 @@ In a module directory, there are commonly these files:
|
|||
|
||||
* **__init__.py** - needed in every python modules, it exports your :class:`Module <weboob.tools.backend.Module>` class.
|
||||
* **module.py** - defines the main class of your module, which derives :class:`Module <weboob.tools.backend.Module>`.
|
||||
* **browser.py** - your browser, derived from :class:`BaseBrowser <weboob.tools.browser2.browser.BaseBrowser>`, is called by your module to interact with the supported website.
|
||||
* **browser.py** - your browser, derived from :class:`Browser <weboob.tools.browser2.browser.Browser>`, is called by your module to interact with the supported website.
|
||||
* **pages.py** - all website's pages handled by the browser are defined here
|
||||
* **test.py** - functional tests
|
||||
* **favicon.png** - a 64x64 transparent PNG icon
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import RecipePage, ResultsPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import RecipePage, ResultsPage
|
|||
__all__ = ['SevenFiftyGramsBrowser']
|
||||
|
||||
|
||||
class SevenFiftyGramsBrowser(BaseBrowser):
|
||||
class SevenFiftyGramsBrowser(Browser):
|
||||
DOMAIN = 'www.750g.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'windows-1252'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.750g.com/recettes_.*.htm': ResultsPage,
|
||||
'http://www.750g.com/fiche_de_cuisine_complete.htm\?recettes_id=[0-9]*': RecipePage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .job import AdeccoJobAdvert
|
||||
from .pages import SearchPage, AdvertPage
|
||||
import urllib
|
||||
|
|
@ -26,7 +26,7 @@ import urllib
|
|||
__all__ = ['AdeccoBrowser']
|
||||
|
||||
|
||||
class AdeccoBrowser(BaseBrowser):
|
||||
class AdeccoBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.adecco.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
from weboob.capabilities.base import NotAvailable, NotLoaded
|
||||
from weboob.capabilities.cinema import Movie, Person
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.json import json
|
||||
import base64
|
||||
import hashlib
|
||||
|
|
@ -32,7 +32,7 @@ import urllib
|
|||
__all__ = ['AllocineBrowser']
|
||||
|
||||
|
||||
class AllocineBrowser(BaseBrowser):
|
||||
class AllocineBrowser(Browser):
|
||||
DOMAIN = 'api.allocine.fr'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import RecipePage, ResultsPage, FourOFourPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import RecipePage, ResultsPage, FourOFourPage
|
|||
__all__ = ['AllrecipesBrowser']
|
||||
|
||||
|
||||
class AllrecipesBrowser(BaseBrowser):
|
||||
class AllrecipesBrowser(Browser):
|
||||
DOMAIN = 'allrecipes.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://allrecipes.com/search/default.aspx\?qt=k&wt=.*&rt=r&origin=.*': ResultsPage,
|
||||
'http://allrecipes.com/Recipe/.*/Detail.aspx': RecipePage,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.capabilities.bill import Detail
|
||||
from decimal import Decimal
|
||||
from .pages import LoginPage, HomePage, AccountPage, LastPaymentsPage, PaymentDetailsPage, BillsPage
|
||||
|
|
@ -25,7 +25,7 @@ from .pages import LoginPage, HomePage, AccountPage, LastPaymentsPage, PaymentDe
|
|||
__all__ = ['AmeliBrowser']
|
||||
|
||||
|
||||
class AmeliBrowser(BaseBrowser):
|
||||
class AmeliBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'assure.ameli.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import urllib
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.capabilities.bill import Detail
|
||||
from decimal import Decimal
|
||||
from .pages import LoginPage, HomePage, AccountPage, HistoryPage, BillsPage
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import LoginPage, HomePage, AccountPage, HistoryPage, BillsPage
|
|||
__all__ = ['AmeliProBrowser']
|
||||
|
||||
|
||||
class AmeliProBrowser(BaseBrowser):
|
||||
class AmeliProBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'espacepro.ameli.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
from urlparse import urlsplit, parse_qsl
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, TransactionsPage
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ from .pages import LoginPage, AccountsPage, TransactionsPage
|
|||
__all__ = ['AmericanExpressBrowser']
|
||||
|
||||
|
||||
class AmericanExpressBrowser(BaseBrowser):
|
||||
class AmericanExpressBrowser(Browser):
|
||||
DOMAIN = 'global.americanexpress.com'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'ISO-8859-1'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
import urllib
|
||||
from .pages import SearchPage, AdvertPage
|
||||
from .job import ApecJobAdvert
|
||||
|
|
@ -27,7 +27,7 @@ from .job import ApecJobAdvert
|
|||
__all__ = ['ApecBrowser']
|
||||
|
||||
|
||||
class ApecBrowser(BaseBrowser):
|
||||
class ApecBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.apec.fr'
|
||||
ENCODING = 'ISO-8859-1'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, OperationsPage
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import LoginPage, AccountsPage, OperationsPage
|
|||
__all__ = ['ApivieBrowser']
|
||||
|
||||
|
||||
class ApivieBrowser(BaseBrowser):
|
||||
class ApivieBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.apivie.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .pages import VideoPage, IndexPage, LoginPage, LoginRedirectPage
|
||||
|
|
@ -28,7 +28,7 @@ from .video import ArretSurImagesVideo
|
|||
__all__ = ['ArretSurImagesBrowser']
|
||||
|
||||
|
||||
class ArretSurImagesBrowser(BaseBrowser):
|
||||
class ArretSurImagesBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.arretsurimages.net'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import urllib
|
|||
from weboob.capabilities import NotAvailable
|
||||
from weboob.capabilities.image import BaseImage
|
||||
from weboob.tools.json import json as simplejson
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .pages import ArteLivePage, ArteLiveVideoPage
|
||||
|
|
@ -34,7 +34,7 @@ from .video import ArteVideo, ArteLiveVideo
|
|||
__all__ = ['ArteBrowser']
|
||||
|
||||
|
||||
class ArteBrowser(BaseBrowser):
|
||||
class ArteBrowser(Browser):
|
||||
DOMAIN = u'videos.arte.tv'
|
||||
ENCODING = None
|
||||
PAGES = {r'http://concert.arte.tv/\w+': ArteLivePage,
|
||||
|
|
@ -51,7 +51,7 @@ class ArteBrowser(BaseBrowser):
|
|||
self.lang = lang
|
||||
self.quality = quality
|
||||
self.order = order
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
@id2url(ArteVideo.id2url)
|
||||
def get_video(self, url, video=None):
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import SubtitlesPage, SearchPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import SubtitlesPage, SearchPage
|
|||
__all__ = ['AttilasubBrowser']
|
||||
|
||||
|
||||
class AttilasubBrowser(BaseBrowser):
|
||||
class AttilasubBrowser(Browser):
|
||||
DOMAIN = 'davidbillemont3.free.fr'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'windows-1252'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://search.freefind.com/find.html.*': SearchPage,
|
||||
'http://davidbillemont3.free.fr/.*.htm': SubtitlesPage,
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import re
|
|||
import urllib
|
||||
import urllib2
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserHTTPNotFound, BrowserUnavailable
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrowserHTTPNotFound, BrowserUnavailable
|
||||
from weboob.tools.json import json
|
||||
from weboob.tools.date import local2utc
|
||||
from weboob.tools.misc import to_unicode
|
||||
|
|
@ -66,7 +66,7 @@ class AuMException(UserError):
|
|||
self.code = code
|
||||
|
||||
|
||||
class WebsiteBrowser(BaseBrowser):
|
||||
class WebsiteBrowser(Browser):
|
||||
def login(self):
|
||||
data = {'username': self.username,
|
||||
'password': self.password,
|
||||
|
|
@ -115,7 +115,7 @@ class WebsiteBrowser(BaseBrowser):
|
|||
|
||||
return profile
|
||||
|
||||
class AuMBrowser(BaseBrowser):
|
||||
class AuMBrowser(Browser):
|
||||
DOMAIN = 'www.adopteunmec.com'
|
||||
APIKEY = 'fb0123456789abcd'
|
||||
APITOKEN = 'DCh7Se53v8ejS8466dQe63'
|
||||
|
|
@ -131,7 +131,7 @@ class AuMBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, username, password, search_query, *args, **kwargs):
|
||||
kwargs['get_home'] = False
|
||||
BaseBrowser.__init__(self, username, password, *args, **kwargs)
|
||||
Browser.__init__(self, username, password, *args, **kwargs)
|
||||
|
||||
# now we do authentication ourselves
|
||||
#self.add_password('http://www.adopteunmec.com/api/', self.username, self.password)
|
||||
|
|
@ -239,7 +239,7 @@ class AuMBrowser(BaseBrowser):
|
|||
if e.getcode() in (410,):
|
||||
return BrowserHTTPNotFound
|
||||
|
||||
return BaseBrowser.get_exception(self, e)
|
||||
return Browser.get_exception(self, e)
|
||||
|
||||
def home(self):
|
||||
r = self.api_request('home/')
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, TransactionsPage, CBTransactionsPage, UnavailablePage
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ from .pages import LoginPage, AccountsPage, TransactionsPage, CBTransactionsPage
|
|||
__all__ = ['AXABanque']
|
||||
|
||||
|
||||
class AXABanque(BaseBrowser):
|
||||
class AXABanque(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.axabanque.fr'
|
||||
PAGES = {'https?://www.axabanque.fr/connexion/index.html.*': LoginPage,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrokenPageError
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrokenPageError
|
||||
|
||||
from .pages import LoginPage, IndexPage, AccountsPage, CardsPage, TransactionsPage, \
|
||||
UnavailablePage, RedirectPage, HomePage
|
||||
|
|
@ -29,7 +29,7 @@ from .pages import LoginPage, IndexPage, AccountsPage, CardsPage, TransactionsPa
|
|||
__all__ = ['BanquePopulaire']
|
||||
|
||||
|
||||
class BanquePopulaire(BaseBrowser):
|
||||
class BanquePopulaire(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'iso-8859-15'
|
||||
PAGES = {'https://[^/]+/auth/UI/Login.*': LoginPage,
|
||||
|
|
@ -55,7 +55,7 @@ class BanquePopulaire(BaseBrowser):
|
|||
self.DOMAIN = website
|
||||
self.token = None
|
||||
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
return not self.is_on_page(LoginPage)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, Login2Page, IndexPage, AccountsPage, TransactionsPage, \
|
||||
CardPage, ValuationPage, LoanPage, MarketPage
|
||||
|
|
@ -27,7 +27,7 @@ from .pages import LoginPage, Login2Page, IndexPage, AccountsPage, TransactionsP
|
|||
__all__ = ['Barclays']
|
||||
|
||||
|
||||
class Barclays(BaseBrowser):
|
||||
class Barclays(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.barclays.fr'
|
||||
PAGES = {'https?://.*.barclays.fr/\d-index.html': IndexPage,
|
||||
|
|
@ -44,7 +44,7 @@ class Barclays(BaseBrowser):
|
|||
def __init__(self, secret, *args, **kwargs):
|
||||
self.secret = secret
|
||||
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
return self.page is not None and not self.is_on_page((LoginPage, IndexPage, Login2Page))
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import urllib
|
|||
from datetime import datetime
|
||||
from logging import warning
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserPasswordExpired
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrowserPasswordExpired
|
||||
from weboob.capabilities.bank import TransferError, Transfer
|
||||
|
||||
from .perso.accounts_list import AccountsList, AccountPrelevement
|
||||
|
|
@ -36,7 +36,7 @@ from .pro import ProAccountsList, ProAccountHistory
|
|||
__all__ = ['BNPorc']
|
||||
|
||||
|
||||
class BNPorc(BaseBrowser):
|
||||
class BNPorc(Browser):
|
||||
DOMAIN = 'www.secure.bnpparibas.net'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = ['5511f0ff19c982b6351c17b901bfa7419f075edb13f2df41e446248beb7866bb', 'fa8cb72ef2e46054469af916f7ec222b1904901fecde8511a0f769ba0385410d', '86cd4ba8cfbc53937dfc402e8c2d0a2d5ffb630a73bbeafd09c39f8b54a6a6c3']
|
||||
|
|
@ -66,7 +66,7 @@ class BNPorc(BaseBrowser):
|
|||
def __init__(self, *args, **kwargs):
|
||||
self.rotating_password = kwargs.pop('rotating_password', None)
|
||||
self.password_changed_cb = kwargs.pop('password_changed_cb', None)
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location('https://www.secure.bnpparibas.net/banque/portail/particulier/HomeConnexion?type=homeconnex')
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, HistoryPage, UnknownPage
|
||||
|
||||
__all__ = ['BNPEnterprise']
|
||||
|
||||
|
||||
class BNPEnterprise(BaseBrowser):
|
||||
class BNPEnterprise(Browser):
|
||||
DOMAIN = 'entreprises.bnpparibas.net'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = '6789f1e08e18d6578dca88ce2e0354a99dbe7824736c01c9c4fa3b456d03b9e9'
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsList, AccountHistory, CardHistory, UpdateInfoPage, AuthenticationPage
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ class BrowserIncorrectAuthenticationCode(BrowserIncorrectPassword):
|
|||
pass
|
||||
|
||||
|
||||
class Boursorama(BaseBrowser):
|
||||
class Boursorama(Browser):
|
||||
DOMAIN = 'www.boursorama.com'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = ['6bdf8b6dd177bd417ddcb1cfb818ede153288e44115eb269f2ddd458c8461039', 'b290ef629c88f0508e9cc6305421c173bd4291175e3ddedbee05ee666b34c20e']
|
||||
|
|
@ -51,7 +51,7 @@ class Boursorama(BaseBrowser):
|
|||
*args, **kwargs):
|
||||
self.device = device
|
||||
self.enable_twofactors = enable_twofactors
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
if not self.is_logged():
|
||||
|
|
|
|||
|
|
@ -21,13 +21,13 @@
|
|||
from .pages.compose import ComposeFrame, ComposePage, ConfirmPage, SentPage
|
||||
from .pages.login import LoginPage, LoginSASPage
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
|
||||
__all__ = ['BouyguesBrowser']
|
||||
|
||||
|
||||
class BouyguesBrowser(BaseBrowser):
|
||||
class BouyguesBrowser(Browser):
|
||||
DOMAIN = 'www.bouyguestelecom.fr'
|
||||
PAGES = {
|
||||
'http://www.espaceclient.bouyguestelecom.fr/ECF/jsf/client/envoiSMS/viewEnvoiSMS.jsf': ComposePage,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
from urlparse import urlsplit, parse_qsl
|
||||
from datetime import datetime
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserBanned
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrowserBanned
|
||||
|
||||
from .pages import LoginPage, Initident, CheckPassword, repositionnerCheminCourant, BadLoginPage, AccountDesactivate, \
|
||||
AccountList, AccountHistory, CardsList, UnavailablePage, \
|
||||
|
|
@ -33,7 +33,7 @@ from weboob.capabilities.bank import Transfer
|
|||
__all__ = ['BPBrowser']
|
||||
|
||||
|
||||
class BPBrowser(BaseBrowser):
|
||||
class BPBrowser(Browser):
|
||||
DOMAIN = 'voscomptesenligne.labanquepostale.fr'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = ['d10d09246853237892d5fb44685826ea99bfdeaaf29fac6dd236dae8cb103c39', 'ccdf2885f1d6df19e15d098dd52fd486609d891ebd2724970a5cfcb9254b6fa5']
|
||||
|
|
@ -63,7 +63,7 @@ class BPBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
kwargs['parser'] = ('lxml',)
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location('https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&'
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, LoginResultPage, AccountsPage, EmptyPage, TransactionsPage
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ from .pages import LoginPage, LoginResultPage, AccountsPage, EmptyPage, Transact
|
|||
__all__ = ['BredBrowser']
|
||||
|
||||
|
||||
class BredBrowser(BaseBrowser):
|
||||
class BredBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.bred.fr'
|
||||
CERTHASH = ['9b77dab9c84e1dc9e0798de561a6541ff15f038f60b36ca74c29be1def6c19a3', '375f1fed165d34aacaaf71674ab14ca6c1b38404cf748278714fde3c58385ff0', '0853a056453b56aea6a29085ef3f3721b18db2052aa8e84220720d44e0eb22af']
|
||||
|
|
@ -54,7 +54,7 @@ class BredBrowser(BaseBrowser):
|
|||
self.accnum = accnum.replace(' ','').zfill(11)
|
||||
self.DOMAIN = 'www.%s.fr' % website
|
||||
self.website = website
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
return self.page is not None and not self.is_on_page(LoginPage)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages.index import IndexPage
|
||||
from .pages.torrents import TorrentsPage, TorrentPage
|
||||
|
|
@ -11,11 +11,11 @@ from .pages.torrents import TorrentsPage, TorrentPage
|
|||
__all__ = ['BTDiggBrowser']
|
||||
|
||||
|
||||
class BTDiggBrowser(BaseBrowser):
|
||||
class BTDiggBrowser(Browser):
|
||||
DOMAIN = 'btdigg.org'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {'https://btdigg.org/': IndexPage,
|
||||
'https://btdigg.org/search?.*q=[^?]*': TorrentsPage,
|
||||
'https://btdigg.org/search?.*info_hash=[^?]*': TorrentPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import TorrentsPage, TorrentPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import TorrentsPage, TorrentPage
|
|||
__all__ = ['BtmonBrowser']
|
||||
|
||||
|
||||
class BtmonBrowser(BaseBrowser):
|
||||
class BtmonBrowser(Browser):
|
||||
DOMAIN = 'www.btmon.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.btmon.com/torrent/\?f=.*': TorrentsPage,
|
||||
'http://www.btmon.com/.*torrent.html': TorrentPage,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import ssl
|
|||
import hashlib
|
||||
from urlparse import urlsplit
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, IndexPage, ErrorPage, UnavailablePage
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ from .pages import LoginPage, IndexPage, ErrorPage, UnavailablePage
|
|||
__all__ = ['CaisseEpargne']
|
||||
|
||||
|
||||
class CaisseEpargne(BaseBrowser):
|
||||
class CaisseEpargne(Browser):
|
||||
DOMAIN = 'www.caisse-epargne.fr'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = ['dfff27d6db1fcdf1cea3ab8e3c1ca4f97c971262e95be49f3385b40c97fe640c', '9894ab2088630f341de821a09f1286c525f854f62ac186bd442368b4692c5969']
|
||||
|
|
@ -43,10 +43,10 @@ class CaisseEpargne(BaseBrowser):
|
|||
|
||||
def __init__(self, nuser, *args, **kwargs):
|
||||
self.nuser = nuser
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def _certhash(self, domain, port=443):
|
||||
# XXX overload the BaseBrowser method to force use of TLSv1.
|
||||
# XXX overload the Browser method to force use of TLSv1.
|
||||
certs = ssl.get_server_certificate((domain, port), ssl_version=ssl.PROTOCOL_TLSv1)
|
||||
return hashlib.sha256(certs).hexdigest()
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import urllib
|
|||
|
||||
import lxml.etree
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .pages import ChannelsPage, VideoPage
|
||||
|
|
@ -42,7 +42,7 @@ class XMLParser(object):
|
|||
return lxml.etree.XML(data.get_data(), parser)
|
||||
|
||||
|
||||
class CanalplusBrowser(BaseBrowser):
|
||||
class CanalplusBrowser(Browser):
|
||||
DOMAIN = u'service.canal-plus.com'
|
||||
ENCODING = 'utf-8'
|
||||
PAGES = {
|
||||
|
|
@ -60,7 +60,7 @@ class CanalplusBrowser(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, quality, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, parser=self.PARSER, *args, **kwargs)
|
||||
Browser.__init__(self, parser=self.PARSER, *args, **kwargs)
|
||||
self.quality = self.FORMATS.get(quality, self.FORMATS['hd'])
|
||||
|
||||
def home(self):
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
from datetime import datetime, date, time
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.misc import to_unicode
|
||||
from weboob.tools.browser import BrokenPageError
|
||||
|
||||
|
|
@ -28,11 +28,11 @@ from weboob.tools.browser import BrokenPageError
|
|||
__all__ = ['CanalTP']
|
||||
|
||||
|
||||
class CanalTP(BaseBrowser):
|
||||
class CanalTP(Browser):
|
||||
DOMAIN = 'widget.canaltp.fr'
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
BaseBrowser.__init__(self, '', **kwargs)
|
||||
Browser.__init__(self, '', **kwargs)
|
||||
|
||||
def iter_station_search(self, pattern):
|
||||
url = u'http://widget.canaltp.fr/Prochains_departs_15122009/dev/gare.php?txtrech=%s' % unicode(pattern)
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ from weboob.capabilities.base import NotAvailable
|
|||
from weboob.tools.misc import to_unicode
|
||||
from weboob.tools.browser import Page
|
||||
from weboob.tools.browser import BrokenPageError
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
from weboob.capabilities.image import BaseImage
|
||||
from weboob.capabilities.video import BaseVideo
|
||||
|
|
@ -100,7 +100,7 @@ class VideoPage(Page):
|
|||
return video
|
||||
|
||||
|
||||
class CappedBrowser(BaseBrowser):
|
||||
class CappedBrowser(Browser):
|
||||
DOMAIN = 'capped.tv'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, HomePage, HistoryPage, RentedPage
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ __all__ = ['ChampslibresBrowser']
|
|||
|
||||
|
||||
# Browser
|
||||
class ChampslibresBrowser(BaseBrowser):
|
||||
class ChampslibresBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
PAGES = {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import IndexPage, TrackPage
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ from .pages import IndexPage, TrackPage
|
|||
__all__ = ['ChronopostBrowser']
|
||||
|
||||
|
||||
class ChronopostBrowser(BaseBrowser):
|
||||
class ChronopostBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.chronopost.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
from urlparse import urlsplit, parse_qsl, urlparse
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.capabilities.bank import Transfer, TransferError
|
||||
|
||||
from .pages import LoginPage, LoginErrorPage, AccountsPage, UserSpacePage, EmptyPage, \
|
||||
|
|
@ -33,12 +33,12 @@ __all__ = ['CICBrowser']
|
|||
|
||||
|
||||
# Browser
|
||||
class CICBrowser(BaseBrowser):
|
||||
class CICBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.cic.fr'
|
||||
CERTHASH = 'b7f681798d4f414fb5cb4032a0b6e8e0d61eeea564a1fb2c1c5a6fc351c70c50'
|
||||
ENCODING = 'iso-8859-1'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {'https://www.cic.fr/.*/fr/banques/particuliers/index.html': LoginPage,
|
||||
'https://www.cic.fr/.*/fr/identification/default.cgi': LoginErrorPage,
|
||||
'https://www.cic.fr/.*/fr/banque/situation_financiere.cgi': AccountsPage,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
from weboob.capabilities.bank import Account
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, SummaryPage, UselessPage, TransactionSearchPage, TransactionsPage, TransactionsCsvPage
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ from .pages import LoginPage, SummaryPage, UselessPage, TransactionSearchPage, T
|
|||
__all__ = ['CitelisBrowser']
|
||||
|
||||
|
||||
class CitelisBrowser(BaseBrowser):
|
||||
class CitelisBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'adminpayment.citelis.fr'
|
||||
ENCODING = 'UTF-8'
|
||||
|
|
@ -45,7 +45,7 @@ class CitelisBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, merchant_id, *args, **kwargs):
|
||||
self.merchant_id = merchant_id
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def login(self):
|
||||
if not self.is_on_page(LoginPage):
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ from weboob.tools.backend import Module, BackendConfig
|
|||
from weboob.tools.value import ValueBackendPassword
|
||||
from weboob.capabilities.base import NotAvailable
|
||||
from weboob.tools.exceptions import BrowserIncorrectPassword, ParseError
|
||||
from weboob.tools.browser2 import BaseBrowser
|
||||
from weboob.tools.browser2 import Browser
|
||||
|
||||
from re import match, compile, sub
|
||||
from decimal import Decimal
|
||||
|
|
@ -84,7 +84,7 @@ class CmbModule(Module, CapBank):
|
|||
)
|
||||
]
|
||||
|
||||
BROWSER = BaseBrowser
|
||||
BROWSER = Browser
|
||||
islogged = False
|
||||
|
||||
def login(self):
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, TransactionsPage
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import LoginPage, AccountsPage, TransactionsPage
|
|||
__all__ = ['Cmso']
|
||||
|
||||
|
||||
class Cmso(BaseBrowser):
|
||||
class Cmso(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.cmso.com'
|
||||
ENCODING = 'iso-8859-1'
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .pages import TrackPage, ErrorPage
|
||||
|
||||
|
||||
__all__ = ['ColispriveBrowser']
|
||||
|
||||
|
||||
class ColispriveBrowser(BaseBrowser):
|
||||
class ColispriveBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.colisprive.com'
|
||||
ENCODING = 'utf8'
|
||||
|
|
|
|||
|
|
@ -18,17 +18,17 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.json import json
|
||||
from weboob.tools.browser import BaseBrowser, BrowserBanned
|
||||
from weboob.tools.browser import Browser, BrowserBanned
|
||||
|
||||
|
||||
__all__ = ['ColissimoBrowser']
|
||||
|
||||
|
||||
class ColissimoBrowser(BaseBrowser):
|
||||
class ColissimoBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.laposte.fr'
|
||||
ENCODING = None
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['android']
|
||||
USER_AGENT = Browser.USER_AGENTS['android']
|
||||
|
||||
api_key = '6b252eb30d3afb15c47cf3fccee3dc17352dc2d6'
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.date import LinearDateGuesser
|
||||
from weboob.capabilities.bank import Transfer, TransferError
|
||||
from .pages import LoginPage, AccountsList
|
||||
|
|
@ -30,10 +30,10 @@ import re
|
|||
__all__ = ['CragrMobile']
|
||||
|
||||
|
||||
class CragrMobile(BaseBrowser):
|
||||
class CragrMobile(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
# a session id that is sometimes added, and should be ignored when matching pages
|
||||
SESSION_REGEXP = '(?:|%s[A-Z0-9]+)' % re.escape(r';jsessionid=')
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ class CragrMobile(BaseBrowser):
|
|||
'https://[^/]+/accounting/showAccountDetail.+': AccountsList,
|
||||
'https://[^/]+/accounting/showMoreAccountOperations.*': AccountsList,
|
||||
}
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def viewing_html(self):
|
||||
"""
|
||||
|
|
@ -82,7 +82,7 @@ class CragrMobile(BaseBrowser):
|
|||
# Are we on the good page?
|
||||
if not self.is_on_page(LoginPage):
|
||||
self.logger.debug('going to login page')
|
||||
BaseBrowser.home(self)
|
||||
Browser.home(self)
|
||||
self.logger.debug('attempting to log in')
|
||||
self.page.login(self.username, self.password)
|
||||
self.is_logging = False
|
||||
|
|
@ -109,7 +109,7 @@ class CragrMobile(BaseBrowser):
|
|||
return
|
||||
|
||||
# simply go to http(s)://the.doma.in/
|
||||
BaseBrowser.home(self)
|
||||
Browser.home(self)
|
||||
|
||||
if self.is_on_page(LoginPage):
|
||||
if not self.is_logged():
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
import urllib
|
||||
import re
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.date import LinearDateGuesser
|
||||
|
||||
from .pages import HomePage, LoginPage, LoginErrorPage, AccountsPage, \
|
||||
|
|
@ -31,7 +31,7 @@ from .pages import HomePage, LoginPage, LoginErrorPage, AccountsPage, \
|
|||
__all__ = ['Cragr']
|
||||
|
||||
|
||||
class Cragr(BaseBrowser):
|
||||
class Cragr(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'ISO-8859-1'
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ class Cragr(BaseBrowser):
|
|||
def __init__(self, website, *args, **kwargs):
|
||||
self.DOMAIN = re.sub('^m\.', 'www.', website)
|
||||
self.accounts_url = None
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.login()
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, LoggedPage, AccountsPage, TransactionsPage, TransactionsJSONPage, ComingTransactionsPage
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ from .pages import LoginPage, LoggedPage, AccountsPage, TransactionsPage, Transa
|
|||
__all__ = ['CreditCooperatif']
|
||||
|
||||
|
||||
class CreditCooperatif(BaseBrowser):
|
||||
class CreditCooperatif(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'iso-8859-15'
|
||||
DOMAIN = "www.credit-cooperatif.coop"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, ITransactionsPage, TransactionsPage, ComingTransactionsPage, CardTransactionsPage
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ from .pages import LoginPage, AccountsPage, ITransactionsPage, TransactionsPage,
|
|||
__all__ = ['CreditCooperatif']
|
||||
|
||||
|
||||
class CreditCooperatif(BaseBrowser):
|
||||
class CreditCooperatif(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'iso-8859-15'
|
||||
DOMAIN = "www.coopanet.com"
|
||||
|
|
@ -40,7 +40,7 @@ class CreditCooperatif(BaseBrowser):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.strong_auth = kwargs.pop('strong_auth', False)
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location("/banque/sso/")
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
import re
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, ProAccountsPage, TransactionsPage, ProTransactionsPage
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ from .pages import LoginPage, AccountsPage, ProAccountsPage, TransactionsPage, P
|
|||
__all__ = ['CreditDuNordBrowser']
|
||||
|
||||
|
||||
class CreditDuNordBrowser(BaseBrowser):
|
||||
class CreditDuNordBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'UTF-8'
|
||||
PAGES = {'https://[^/]+/?': LoginPage,
|
||||
|
|
@ -43,7 +43,7 @@ class CreditDuNordBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, website, *args, **kwargs):
|
||||
self.DOMAIN = website
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
return self.page is not None and not self.is_on_page(LoginPage)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import RecipePage, ResultsPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import RecipePage, ResultsPage
|
|||
__all__ = ['CuisineazBrowser']
|
||||
|
||||
|
||||
class CuisineazBrowser(BaseBrowser):
|
||||
class CuisineazBrowser(Browser):
|
||||
DOMAIN = 'www.cuisineaz.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.cuisineaz.com/recettes/recherche_v2.aspx\?recherche=.*': ResultsPage,
|
||||
'http://www.cuisineaz.com/recettes/.*[0-9]*.aspx': RecipePage,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
from urllib import quote_plus
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .pages import IndexPage, VideoPage, KidsVideoPage
|
||||
|
|
@ -29,7 +29,7 @@ from .video import DailymotionVideo
|
|||
__all__ = ['DailymotionBrowser']
|
||||
|
||||
|
||||
class DailymotionBrowser(BaseBrowser):
|
||||
class DailymotionBrowser(Browser):
|
||||
DOMAIN = 'www.dailymotion.com'
|
||||
ENCODING = None
|
||||
PAGES = {r'http://[w\.]*dailymotion\.com/1': IndexPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, DashboardPage, OperationsPage, LCRPage
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import LoginPage, DashboardPage, OperationsPage, LCRPage
|
|||
__all__ = ['DelubacBrowser']
|
||||
|
||||
|
||||
class DelubacBrowser(BaseBrowser):
|
||||
class DelubacBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'vbankonline.delubac.com'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import re
|
|||
import hashlib
|
||||
import lxml
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound, BrowserHTTPError, BrowserIncorrectPassword, BrokenPageError
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound, BrowserHTTPError, BrowserIncorrectPassword, BrokenPageError
|
||||
from weboob.capabilities.messages import CantSendMessage
|
||||
|
||||
from .pages.index import IndexPage, LoginPage
|
||||
|
|
@ -35,7 +35,7 @@ from .tools import id2url, url2id
|
|||
# Browser
|
||||
|
||||
|
||||
class DLFP(BaseBrowser):
|
||||
class DLFP(Browser):
|
||||
DOMAIN = 'linuxfr.org'
|
||||
PROTOCOL = 'https'
|
||||
PAGES = {'https?://[^/]*linuxfr\.org/?': IndexPage,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.capabilities.bill import Detail
|
||||
from decimal import Decimal
|
||||
from .pages import LoginPage, FirstRedirectionPage, SecondRedirectionPage, OtherPage, AccountPage, BillsPage, LastPaymentsPage, LastPaymentsPage2
|
||||
|
|
@ -25,7 +25,7 @@ from .pages import LoginPage, FirstRedirectionPage, SecondRedirectionPage, Other
|
|||
__all__ = ['EdfBrowser']
|
||||
|
||||
|
||||
class EdfBrowser(BaseBrowser):
|
||||
class EdfBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'monagencepart.edf.fr'
|
||||
ENCODING = None
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from urllib import urlencode
|
||||
|
||||
from .pages import IndexPage, GalleryPage, ImagePage, HomePage, LoginPage
|
||||
|
|
@ -27,7 +27,7 @@ from .gallery import EHentaiImage
|
|||
__all__ = ['EHentaiBrowser']
|
||||
|
||||
|
||||
class EHentaiBrowser(BaseBrowser):
|
||||
class EHentaiBrowser(Browser):
|
||||
ENCODING = None
|
||||
PAGES = {
|
||||
r'http://[^/]+/': IndexPage,
|
||||
|
|
@ -41,7 +41,7 @@ class EHentaiBrowser(BaseBrowser):
|
|||
def __init__(self, domain, username, password, *args, **kwargs):
|
||||
self.DOMAIN = domain
|
||||
self.logged = False
|
||||
BaseBrowser.__init__(self, parser=('lxmlsoup',), *args, **kwargs)
|
||||
Browser.__init__(self, parser=('lxmlsoup',), *args, **kwargs)
|
||||
if password:
|
||||
self.login(username, password)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
#from .pages.index import IndexPage
|
||||
|
|
@ -30,7 +30,7 @@ from .video import EuroparlVideo
|
|||
__all__ = ['EuroparlBrowser']
|
||||
|
||||
|
||||
class EuroparlBrowser(BaseBrowser):
|
||||
class EuroparlBrowser(Browser):
|
||||
DOMAIN = 'europarl.europa.eu'
|
||||
ENCODING = None
|
||||
PAGES = {r'http://[w\.]*europarl\.europa\.eu/ep-live/(?P<lang>\w+)/committees/video\?.*event=(?P<id>[^&]+).*': VideoPage,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
from datetime import date
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages.login import LoginPage
|
||||
from .pages.accounts_list import GlobalAccountsList, AccountsList, AccountHistoryPage
|
||||
|
|
@ -30,7 +30,7 @@ from .pages.accounts_list import GlobalAccountsList, AccountsList, AccountHistor
|
|||
__all__ = ['Fortuneo']
|
||||
|
||||
|
||||
class Fortuneo(BaseBrowser):
|
||||
class Fortuneo(Browser):
|
||||
DOMAIN_LOGIN = 'www.fortuneo.fr'
|
||||
DOMAIN = 'www.fortuneo.fr'
|
||||
PROTOCOL = 'https'
|
||||
|
|
@ -49,7 +49,7 @@ class Fortuneo(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
"""main page (login)"""
|
||||
|
|
|
|||
|
|
@ -18,12 +18,12 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages.board import BoardPage
|
||||
|
||||
|
||||
class FourChan(BaseBrowser):
|
||||
class FourChan(Browser):
|
||||
DOMAIN = 'boards.4chan.org'
|
||||
PAGES = {
|
||||
'http://boards.4chan.org/\w+/': BoardPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, AccountsPage, TransactionsPage
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import LoginPage, AccountsPage, TransactionsPage
|
|||
__all__ = ['GanAssurances']
|
||||
|
||||
|
||||
class GanAssurances(BaseBrowser):
|
||||
class GanAssurances(Browser):
|
||||
PROTOCOL = 'https'
|
||||
PAGES = {'https://[^/]+/wps/portal/login.*': LoginPage,
|
||||
'https://[^/]+/wps/myportal/TableauDeBord': AccountsPage,
|
||||
|
|
@ -35,7 +35,7 @@ class GanAssurances(BaseBrowser):
|
|||
|
||||
def __init__(self, website, *args, **kwargs):
|
||||
self.DOMAIN = website
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
return self.page is not None and not self.is_on_page(LoginPage)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages.index import IndexPage, LoginPage
|
||||
from .pages.torrents import TorrentsPage
|
||||
|
|
@ -27,7 +27,7 @@ from .pages.torrents import TorrentsPage
|
|||
__all__ = ['GazelleBrowser']
|
||||
|
||||
|
||||
class GazelleBrowser(BaseBrowser):
|
||||
class GazelleBrowser(Browser):
|
||||
PAGES = {'https?://[^/]+/?(index.php)?': IndexPage,
|
||||
'https?://[^/]+/login.php': LoginPage,
|
||||
'https?://[^/]+/torrents.php.*': TorrentsPage,
|
||||
|
|
@ -36,7 +36,7 @@ class GazelleBrowser(BaseBrowser):
|
|||
def __init__(self, protocol, domain, *args, **kwargs):
|
||||
self.DOMAIN = domain
|
||||
self.PROTOCOL = protocol
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def login(self):
|
||||
if not self.is_on_page(LoginPage):
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserUnavailable,\
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrowserUnavailable,\
|
||||
BrowserBanned
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ from weboob.capabilities.base import NotAvailable
|
|||
__all__ = ['GDCVaultBrowser']
|
||||
|
||||
|
||||
class GDCVaultBrowser(BaseBrowser):
|
||||
class GDCVaultBrowser(Browser):
|
||||
DOMAIN = 'gdcvault.com'
|
||||
ENCODING = 'utf-8'
|
||||
PAGES = {r'http://[w\.]*gdcvault.com/play/(?P<id>[\d]+)/?.*': VideoPage,
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import StringIO
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from .pages import LoginPage, HomePage, AccountPage, TimeoutPage, HistoryPage, PdfPage
|
||||
|
||||
__all__ = ['GdfSuez']
|
||||
|
||||
|
||||
class GdfSuez(BaseBrowser):
|
||||
class GdfSuez(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.gdfsuez-dolcevita.fr'
|
||||
PAGES = {'.*portail/clients.*?_nfpb=true&_pageLabel=page_identification': LoginPage,
|
||||
|
|
@ -40,7 +40,7 @@ class GdfSuez(BaseBrowser):
|
|||
historyp = '/portailClients/client/p/page_historique_de_mes_factures'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location(self.homep)
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
from weboob.capabilities.geolocip import CapGeolocIp, IpLocation
|
||||
from weboob.tools.backend import Module
|
||||
from weboob.tools.browser import BaseBrowser, BrowserUnavailable
|
||||
from weboob.tools.browser import Browser, BrowserUnavailable
|
||||
|
||||
|
||||
__all__ = ['GeolocIpModule']
|
||||
|
|
@ -34,7 +34,7 @@ class GeolocIpModule(Module, CapGeolocIp):
|
|||
VERSION = '1.0'
|
||||
LICENSE = 'AGPLv3+'
|
||||
DESCRIPTION = u"GeolocIP IP addresses geolocation service"
|
||||
BROWSER = BaseBrowser
|
||||
BROWSER = Browser
|
||||
|
||||
def get_location(self, ipaddr):
|
||||
with self.browser:
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.json import json as json_module
|
||||
from base64 import b64encode
|
||||
import datetime
|
||||
|
|
@ -31,14 +31,14 @@ __all__ = ['GithubBrowser']
|
|||
|
||||
|
||||
|
||||
class GithubBrowser(BaseBrowser):
|
||||
class GithubBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'api.github.com'
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
def __init__(self, *a, **kw):
|
||||
kw['parser'] = 'json'
|
||||
BaseBrowser.__init__(self, *a, **kw)
|
||||
Browser.__init__(self, *a, **kw)
|
||||
self.fewer_requests = not bool(self.username)
|
||||
|
||||
def home(self):
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import TranslatePage
|
||||
|
||||
|
|
@ -28,16 +28,16 @@ from .pages import TranslatePage
|
|||
__all__ = ['GoogleTranslateBrowser']
|
||||
|
||||
|
||||
class GoogleTranslateBrowser(BaseBrowser):
|
||||
class GoogleTranslateBrowser(Browser):
|
||||
DOMAIN = 'translate.google.com'
|
||||
ENCODING = 'UTF-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['desktop_firefox']
|
||||
USER_AGENT = Browser.USER_AGENTS['desktop_firefox']
|
||||
PAGES = {
|
||||
'https?://translate\.google\.com': TranslatePage
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def translate(self, source, to, text):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.json import json as simplejson
|
||||
from weboob.capabilities.audio import BaseAudio, Album, Playlist
|
||||
from weboob.capabilities.image import BaseImage
|
||||
|
|
@ -42,7 +42,7 @@ class APIError(Exception):
|
|||
pass
|
||||
|
||||
|
||||
class GroovesharkBrowser(BaseBrowser):
|
||||
class GroovesharkBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'html5.grooveshark.com'
|
||||
API_URL = 'https://html5.grooveshark.com/more.php'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.date import datetime
|
||||
from weboob.tools.parsers.jsonparser import json
|
||||
from urllib import urlencode
|
||||
|
|
@ -29,14 +29,14 @@ from urllib import urlencode
|
|||
__all__ = ['GuerrillamailBrowser']
|
||||
|
||||
|
||||
class GuerrillamailBrowser(BaseBrowser):
|
||||
class GuerrillamailBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'www.guerrillamail.com'
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
kw['parser'] = 'raw'
|
||||
BaseBrowser.__init__(self, *args, **kw)
|
||||
Browser.__init__(self, *args, **kw)
|
||||
|
||||
def _get_unicode(self, url, *a):
|
||||
return self.get_document(self.openurl(url, *a)).decode(self.ENCODING, 'replace')
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import ValidationPage, HomePage, HistoryPage, StoryPage, AuthorPage
|
||||
|
||||
# Browser
|
||||
|
||||
|
||||
class HDSBrowser(BaseBrowser):
|
||||
class HDSBrowser(Browser):
|
||||
ENCODING = 'ISO-8859-1'
|
||||
DOMAIN = 'histoires-de-sexe.net'
|
||||
PAGES = {'http://histoires-de-sexe.net/': ValidationPage,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import urllib
|
|||
import mechanize
|
||||
from datetime import datetime
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserPasswordExpired
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword, BrowserPasswordExpired
|
||||
from weboob.capabilities.bank import TransferError, Transfer
|
||||
|
||||
from .perso.accounts_list import AccountsList, AccountPrelevement
|
||||
|
|
@ -35,7 +35,7 @@ from .perso.messages import MessagePage, MessagesPage
|
|||
__all__ = ['HelloBank']
|
||||
|
||||
|
||||
class HelloBank(BaseBrowser):
|
||||
class HelloBank(Browser):
|
||||
DOMAIN = 'client.hellobank.fr'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = None # refer to the HTML encoding
|
||||
|
|
@ -55,7 +55,7 @@ class HelloBank(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location('https://client.hellobank.fr/banque/portail/digitale/HomeConnexion?type=homeconnex')
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
import re
|
||||
|
||||
from HTMLParser import HTMLParser
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
from weboob.capabilities.base import NotAvailable, NotLoaded
|
||||
from weboob.capabilities.cinema import Movie, Person
|
||||
from weboob.tools.json import json
|
||||
|
|
@ -32,11 +32,11 @@ from datetime import datetime
|
|||
__all__ = ['ImdbBrowser']
|
||||
|
||||
|
||||
class ImdbBrowser(BaseBrowser):
|
||||
class ImdbBrowser(Browser):
|
||||
DOMAIN = 'www.imdb.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.imdb.com/title/tt[0-9]*/fullcredits.*': MovieCrewPage,
|
||||
'http://www.imdb.com/title/tt[0-9]*/releaseinfo.*': ReleasePage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .pages.video import VideoPage
|
||||
|
|
@ -29,7 +29,7 @@ from .video import InaVideo
|
|||
__all__ = ['InaBrowser']
|
||||
|
||||
|
||||
class InaBrowser(BaseBrowser):
|
||||
class InaBrowser(Browser):
|
||||
DOMAIN = 'ina.fr'
|
||||
PAGES = {'http://player.ina.fr/notices/.+\.mrss': (VideoPage, 'xml'),
|
||||
'http://boutique\.ina\.fr/recherche/.+': SearchPage,
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@
|
|||
|
||||
from .pages.article import ArticlePage
|
||||
from .pages.inrockstv import InrocksTvPage
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
|
||||
class NewspaperInrocksBrowser(BaseBrowser):
|
||||
class NewspaperInrocksBrowser(Browser):
|
||||
"NewspaperInrocksBrowser class"
|
||||
PAGES = {
|
||||
'http://www.lesinrocks.com/(?!inrockstv).+/.*': ArticlePage,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import re
|
|||
from weboob.capabilities.gallery import CapGallery, BaseGallery, BaseImage
|
||||
from weboob.tools.json import json
|
||||
from weboob.tools.backend import Module
|
||||
from weboob.tools.browser import BaseBrowser, Page
|
||||
from weboob.tools.browser import Browser, Page
|
||||
|
||||
__all__ = ['IzneoModule']
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ class ReaderV2(Page):
|
|||
(page['expires'], page['token'], ean, width, page['page'])))
|
||||
|
||||
|
||||
class IzneoBrowser(BaseBrowser):
|
||||
class IzneoBrowser(Browser):
|
||||
PAGES = {r'http://.+\.izneo.\w+/readv2-.+': ReaderV2}
|
||||
|
||||
def iter_gallery_images(self, gallery):
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
|
||||
from .video import JacquieEtMichelVideo
|
||||
|
|
@ -29,7 +29,7 @@ from .pages import VideoPage, ResultsPage
|
|||
__all__ = ['JacquieEtMichelBrowser']
|
||||
|
||||
|
||||
class JacquieEtMichelBrowser(BaseBrowser):
|
||||
class JacquieEtMichelBrowser(Browser):
|
||||
DOMAIN = u'jacquieetmicheltv.net'
|
||||
ENCODING = None
|
||||
PAGES = {r'https?://.*jacquieetmicheltv.net/': ResultsPage,
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
|
||||
import datetime
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
|
||||
__all__ = ['VelibBrowser']
|
||||
|
||||
|
||||
class VelibBrowser(BaseBrowser):
|
||||
class VelibBrowser(Browser):
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
API_KEY = '2282a34b49cf45d8129cdf93d88762914cece88b'
|
||||
|
|
@ -33,7 +33,7 @@ class VelibBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, *a, **kw):
|
||||
kw['parser'] = 'json'
|
||||
BaseBrowser.__init__(self, *a, **kw)
|
||||
Browser.__init__(self, *a, **kw)
|
||||
|
||||
def do_get(self, path, **query):
|
||||
qs = '&'.join('%s=%s' % kv for kv in query.items())
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .pages import RoadmapSearchPage, RoadmapResultsPage, RoadmapPage, RoadmapAmbiguity
|
||||
|
||||
|
||||
__all__ = ['JVMalin']
|
||||
|
||||
|
||||
class JVMalin(BaseBrowser):
|
||||
class JVMalin(Browser):
|
||||
DOMAIN = 'www.jvmalin.fr'
|
||||
PAGES = {
|
||||
'http://www\.jvmalin\.fr/Itineraires/Recherche.*': RoadmapSearchPage,
|
||||
|
|
@ -34,7 +34,7 @@ class JVMalin(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
BaseBrowser.__init__(self, '', **kwargs)
|
||||
Browser.__init__(self, '', **kwargs)
|
||||
|
||||
def get_roadmap(self, departure, arrival, filters):
|
||||
self.location('/Itineraires/Recherche')
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import TorrentsPage, TorrentPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import TorrentsPage, TorrentPage
|
|||
__all__ = ['KickassBrowser']
|
||||
|
||||
|
||||
class KickassBrowser(BaseBrowser):
|
||||
class KickassBrowser(Browser):
|
||||
DOMAIN = 'kickass.to'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'https://kickass.to/usearch/.*field=seeders&sorder=desc': TorrentsPage,
|
||||
'https://kickass.to/.*.html': TorrentPage,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
import re
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import MainPage, ListingAutoPage, AnnoncePage
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ __all__ = ['LaCentraleBrowser']
|
|||
|
||||
|
||||
# I manage urls and page location, then trasnfert to page
|
||||
class LaCentraleBrowser(BaseBrowser):
|
||||
class LaCentraleBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.lacentrale.fr'
|
||||
ENCODING = 'windows-1252'
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
from urlparse import urlsplit, parse_qsl
|
||||
from mechanize import Cookie
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import SkipPage, LoginPage, AccountsPage, AccountHistoryPage, \
|
||||
CBListPage, CBHistoryPage, ContractsPage
|
||||
|
|
@ -31,12 +31,12 @@ __all__ = ['LCLBrowser','LCLProBrowser']
|
|||
|
||||
|
||||
# Browser
|
||||
class LCLBrowser(BaseBrowser):
|
||||
class LCLBrowser(Browser):
|
||||
PROTOCOL = 'https'
|
||||
DOMAIN = 'particuliers.secure.lcl.fr'
|
||||
CERTHASH = ['825a1cda9f3c7176af327013a20145ad587d1f7e2a7e226a1cb5c522e6e00b84']
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'https://particuliers.secure.lcl.fr/outil/UAUT/Authentication/authenticate': LoginPage,
|
||||
'https://particuliers.secure.lcl.fr/outil/UAUT\?from=.*': LoginPage,
|
||||
|
|
@ -127,7 +127,7 @@ class LCLProBrowser(LCLBrowser):
|
|||
DOMAIN = 'professionnels.secure.lcl.fr'
|
||||
CERTHASH = ['6ae7053ef30f7c7810673115b021a42713f518f3a87b2e73ef565c16ead79f81']
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'https://professionnels.secure.lcl.fr/outil/UAUT?from=/outil/UWHO/Accueil/': LoginPage,
|
||||
'https://professionnels.secure.lcl.fr/outil/UAUT\?from=.*': LoginPage,
|
||||
|
|
@ -163,6 +163,6 @@ class LCLProBrowser(LCLBrowser):
|
|||
cookiejar.set_cookie(c)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
self.add_cookie("lclgen","professionnels")
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
from urllib import urlencode
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import HomePage, MessagesPage, LogoutPage, LogoutOkPage, \
|
||||
AlreadyConnectedPage, ExpiredPage, MovementsPage, RootPage
|
||||
|
|
@ -28,14 +28,14 @@ from .pages import HomePage, MessagesPage, LogoutPage, LogoutOkPage, \
|
|||
__all__ = ['LCLEnterpriseBrowser']
|
||||
|
||||
|
||||
class LCLEnterpriseBrowser(BaseBrowser):
|
||||
class LCLEnterpriseBrowser(Browser):
|
||||
BASEURL = 'https://entreprises.secure.lcl.fr'
|
||||
CERTHASH = ['04e3509c20ac8bdbdb3d0ed37bc34db2dde5ed4bc4c30a3605f63403413099a9',
|
||||
'5fcf4a9ceeec25e406a04dffe0c6eacbdf72d11d394cd049701bfbaba3d853d9',
|
||||
'774ac6f1c419083541a27d95672a87a5edf5c82d948368008eab2764e65866f9',
|
||||
'3db256edfeb7ba255625724b7e62d4dab229557226336ba87b9753006721f16f']
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BASEURL = self.BASEURL.rstrip('/')
|
||||
|
|
@ -60,7 +60,7 @@ class LCLEnterpriseBrowser(BaseBrowser):
|
|||
BASEURL + '/outil/IQEN/Authentication/sessionExpiree': ExpiredPage,
|
||||
}
|
||||
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
self._logged = False
|
||||
|
||||
def deinit(self):
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
import time
|
||||
import StringIO
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from .pages import HomePage, LoginPage, HistoryPage, PdfPage
|
||||
from weboob.capabilities.bill import Detail
|
||||
from weboob.capabilities.base import NotAvailable
|
||||
|
|
@ -29,7 +29,7 @@ from weboob.capabilities.base import NotAvailable
|
|||
__all__ = ['Leclercmobile']
|
||||
|
||||
|
||||
class Leclercmobile(BaseBrowser):
|
||||
class Leclercmobile(Browser):
|
||||
DOMAIN = 'www.securelmobile.fr'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
@ -44,7 +44,7 @@ class Leclercmobile(BaseBrowser):
|
|||
bills = '/EspaceClient/pgeWERL015_RecupReleveConso.aspx?m=-'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location(self.accueil)
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@
|
|||
|
||||
from .pages.article import ArticlePage, ActuPage
|
||||
from .pages.flashactu import FlashActuPage
|
||||
from weboob.tools.browser import BaseBrowser, Page
|
||||
from weboob.tools.browser import Browser, Page
|
||||
|
||||
|
||||
class IndexPage(Page):
|
||||
pass
|
||||
|
||||
|
||||
class NewspaperFigaroBrowser(BaseBrowser):
|
||||
class NewspaperFigaroBrowser(Browser):
|
||||
"NewspaperFigaroBrowser class"
|
||||
ENCODING = "UTF-8"
|
||||
PAGES = {"http://\w+.lefigaro.fr/flash-.*/(\d{4})/(\d{2})/(\d{2})/(.*$)": FlashActuPage,
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from .pages.article import ArticlePage
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
|
||||
class NewspaperLibeBrowser(BaseBrowser):
|
||||
class NewspaperLibeBrowser(Browser):
|
||||
"NewspaperLibeBrowser class"
|
||||
PAGES = {"http://.*liberation.fr/.*": ArticlePage}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .job import LolixJobAdvert
|
||||
from .pages import SearchPage, AdvertPage
|
||||
import urllib
|
||||
|
|
@ -26,7 +26,7 @@ import urllib
|
|||
__all__ = ['LolixBrowser']
|
||||
|
||||
|
||||
class LolixBrowser(BaseBrowser):
|
||||
class LolixBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'fr.lolix.org/search/offre'
|
||||
ENCODING = 'iso-8859-1'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from StringIO import StringIO
|
||||
import re
|
||||
|
||||
|
|
@ -28,11 +28,11 @@ from .pages import PageAll
|
|||
__all__ = ['LutimBrowser']
|
||||
|
||||
|
||||
class LutimBrowser(BaseBrowser):
|
||||
class LutimBrowser(Browser):
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
def __init__(self, base_url, *args, **kw):
|
||||
BaseBrowser.__init__(self, *args, **kw)
|
||||
Browser.__init__(self, *args, **kw)
|
||||
self.base_url = base_url
|
||||
self.PAGES = {re.escape(self.base_url): PageAll}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserBanned
|
||||
from weboob.tools.browser import Browser, BrowserBanned
|
||||
from weboob.tools.date import datetime
|
||||
from weboob.tools.parsers.jsonparser import json
|
||||
import lxml.html
|
||||
|
|
@ -28,14 +28,14 @@ import time
|
|||
__all__ = ['MailinatorBrowser']
|
||||
|
||||
|
||||
class MailinatorBrowser(BaseBrowser):
|
||||
class MailinatorBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'mailinator.com'
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
kw['parser'] = 'raw'
|
||||
BaseBrowser.__init__(self, *args, **kw)
|
||||
Browser.__init__(self, *args, **kw)
|
||||
|
||||
def _get_unicode(self, url):
|
||||
return self.get_document(self.openurl(url)).decode(self.ENCODING, 'replace')
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import RecipePage, ResultsPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import RecipePage, ResultsPage
|
|||
__all__ = ['MarmitonBrowser']
|
||||
|
||||
|
||||
class MarmitonBrowser(BaseBrowser):
|
||||
class MarmitonBrowser(Browser):
|
||||
DOMAIN = 'www.marmiton.org'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.marmiton.org/recettes/recherche.aspx.*': ResultsPage,
|
||||
'http://www.marmiton.org/recettes/recette_.*': RecipePage,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import urllib
|
|||
import datetime
|
||||
import re
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.json import json as simplejson
|
||||
from weboob.capabilities.content import Revision
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ class APIError(Exception):
|
|||
|
||||
|
||||
# Browser
|
||||
class MediawikiBrowser(BaseBrowser):
|
||||
class MediawikiBrowser(Browser):
|
||||
ENCODING = 'utf-8'
|
||||
|
||||
def __init__(self, url, apiurl, *args, **kwargs):
|
||||
|
|
@ -46,7 +46,7 @@ class MediawikiBrowser(BaseBrowser):
|
|||
self.BASEPATH = self.BASEPATH[:-1]
|
||||
|
||||
self.apiurl = apiurl
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def url2page(self, page):
|
||||
baseurl = self.PROTOCOL + '://' + self.DOMAIN + self.BASEPATH
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .pages.meteo import WeatherPage, SearchCitiesPage
|
||||
from weboob.capabilities.weather import CityNotFound
|
||||
|
||||
__all__ = ['MeteofranceBrowser']
|
||||
|
||||
|
||||
class MeteofranceBrowser(BaseBrowser):
|
||||
class MeteofranceBrowser(Browser):
|
||||
DOMAIN = 'www.meteofrance.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
@ -39,7 +39,7 @@ class MeteofranceBrowser(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def iter_city_search(self, pattern):
|
||||
datas = {'facet': 'previsions',
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@
|
|||
|
||||
from .pages.article import ArticlePage
|
||||
from .pages.simple import SimplePage
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .tools import id2url
|
||||
|
||||
|
||||
class Newspaper20minutesBrowser(BaseBrowser):
|
||||
class Newspaper20minutesBrowser(Browser):
|
||||
"Newspaper20minutesBrowser class"
|
||||
ENCODING = None
|
||||
PAGES = {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
import urllib
|
||||
|
||||
from weboob.tools.browser.decorators import id2url
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import SearchPage, AdvertPage
|
||||
from .job import MonsterJobAdvert
|
||||
|
|
@ -27,7 +27,7 @@ from .job import MonsterJobAdvert
|
|||
__all__ = ['MonsterBrowser']
|
||||
|
||||
|
||||
class MonsterBrowser(BaseBrowser):
|
||||
class MonsterBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'offres.monster.fr'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
|
|||
|
|
@ -17,16 +17,16 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .pages import LivePage, StreamsPage
|
||||
|
||||
__all__ = ['NectarineBrowser']
|
||||
|
||||
class NectarineBrowser(BaseBrowser):
|
||||
class NectarineBrowser(Browser):
|
||||
DOMAIN = 'www.scenemusic.net'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['desktop_firefox']
|
||||
USER_AGENT = Browser.USER_AGENTS['desktop_firefox']
|
||||
PAGES = {
|
||||
'https://www\.scenemusic\.net/demovibes/xml/streams/': StreamsPage,
|
||||
'https://www\.scenemusic\.net/demovibes/xml/queue/': LivePage
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from .pages import HomePage, LoginPage, HistoryPage, DetailsPage, BillsPage
|
||||
|
||||
__all__ = ['Nettokom']
|
||||
|
||||
|
||||
class Nettokom(BaseBrowser):
|
||||
class Nettokom(Browser):
|
||||
DOMAIN = 'konto.nettokom.de'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = None # refer to the HTML encoding
|
||||
|
|
@ -36,7 +36,7 @@ class Nettokom(BaseBrowser):
|
|||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def home(self):
|
||||
self.location('/start.html')
|
||||
|
|
|
|||
|
|
@ -17,16 +17,16 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from .pages import LivePage, ProgramPage
|
||||
|
||||
__all__ = ['NihonNoOtoBrowser']
|
||||
|
||||
class NihonNoOtoBrowser(BaseBrowser):
|
||||
class NihonNoOtoBrowser(Browser):
|
||||
DOMAIN = 'www.nihon-no-oto.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['desktop_firefox']
|
||||
USER_AGENT = Browser.USER_AGENTS['desktop_firefox']
|
||||
PAGES = {
|
||||
'http://www\.nihon-no-oto\.com/': LivePage,
|
||||
'http://www\.nihon-no-oto\.com/app/playlist.php': ProgramPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
import urllib
|
||||
|
||||
|
|
@ -28,8 +28,8 @@ from .pages import VideoPage, VideoListPage, FamilyPage, AboPage, LoginPage, Hom
|
|||
|
||||
__all__ = ['NolifeTVBrowser']
|
||||
|
||||
class NolifeTVBrowser(BaseBrowser):
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['desktop_firefox']
|
||||
class NolifeTVBrowser(Browser):
|
||||
USER_AGENT = Browser.USER_AGENTS['desktop_firefox']
|
||||
DOMAIN = 'mobile.nolife-tv.com'
|
||||
PROTOCOL = 'http'
|
||||
PAGES = { r'http://mobile.nolife-tv.com/online/familles-\w+/': FamilyPage,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import urllib
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, Page
|
||||
from weboob.tools.browser import Browser, Page
|
||||
from weboob.tools.ordereddict import OrderedDict
|
||||
|
||||
from .pages import LoginPage, ThreadPage, MessagesPage, PostMessagePage, ProfilePage, PhotosPage, VisitsPage, QuickMatchPage, SentPage
|
||||
|
|
@ -39,7 +39,7 @@ def check_login(func):
|
|||
return inner
|
||||
|
||||
|
||||
class OkCBrowser(BaseBrowser):
|
||||
class OkCBrowser(Browser):
|
||||
DOMAIN = 'm.okcupid.com'
|
||||
PROTOCOL = 'https'
|
||||
ENCODING = 'UTF-8'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, HomePage, RentedPage, HistoryPage, BookedPage
|
||||
|
||||
|
|
@ -27,10 +27,10 @@ __all__ = ['AloesBrowser']
|
|||
|
||||
|
||||
# Browser
|
||||
class AloesBrowser(BaseBrowser):
|
||||
class AloesBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['desktop_firefox']
|
||||
USER_AGENT = Browser.USER_AGENTS['desktop_firefox']
|
||||
#DEBUG_HTTP = True
|
||||
DEBUG_HTTP = False
|
||||
PAGES = {
|
||||
|
|
@ -43,7 +43,7 @@ class AloesBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, baseurl, *args, **kwargs):
|
||||
self.BASEURL = baseurl
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def is_logged(self):
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
from weboob.applications.suboob.suboob import LANGUAGE_CONV
|
||||
|
||||
from .pages import SubtitlesPage, SearchPage, SubtitlePage
|
||||
|
|
@ -27,11 +27,11 @@ from .pages import SubtitlesPage, SearchPage, SubtitlePage
|
|||
__all__ = ['OpensubtitlesBrowser']
|
||||
|
||||
|
||||
class OpensubtitlesBrowser(BaseBrowser):
|
||||
class OpensubtitlesBrowser(Browser):
|
||||
DOMAIN = 'www.opensubtitles.org'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.opensubtitles.org.*search2/sublanguageid.*moviename.*': SearchPage,
|
||||
'http://www.opensubtitles.org.*search/sublanguageid.*idmovie.*': SubtitlesPage,
|
||||
|
|
|
|||
|
|
@ -23,13 +23,13 @@
|
|||
|
||||
from .pages import LoginPage, ComposePage, ConfirmPage
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
|
||||
|
||||
__all__ = ['OrangeBrowser']
|
||||
|
||||
|
||||
class OrangeBrowser(BaseBrowser):
|
||||
class OrangeBrowser(Browser):
|
||||
DOMAIN = 'orange.fr'
|
||||
PAGES = {
|
||||
'http://id.orange.fr/auth_user/bin/auth_user.cgi.*': LoginPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.tools.parsers.iparser import IParser
|
||||
import BeautifulSoup
|
||||
|
||||
|
|
@ -33,7 +33,7 @@ class SoupParser(IParser):
|
|||
return BeautifulSoup.BeautifulSoup(data.read().decode(encoding or 'utf-8'), convertEntities=BeautifulSoup.BeautifulStoneSoup.ALL_ENTITIES)
|
||||
|
||||
|
||||
class OvsBrowser(BaseBrowser):
|
||||
class OvsBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'paris.onvasortir.com'
|
||||
ENCODING = 'cp1252'
|
||||
|
|
@ -62,7 +62,7 @@ class OvsBrowser(BaseBrowser):
|
|||
}
|
||||
|
||||
kw['parser'] = SoupParser()
|
||||
BaseBrowser.__init__(self, username, password, *a, **kw)
|
||||
Browser.__init__(self, username, password, *a, **kw)
|
||||
self.city = city
|
||||
|
||||
def iter_threads_list(self):
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import urllib
|
|||
|
||||
from weboob.tools.json import json
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
from weboob.capabilities.housing import Query
|
||||
|
||||
from .pages import SearchResultsPage, HousingPage
|
||||
|
|
@ -31,7 +31,7 @@ from .pages import SearchResultsPage, HousingPage
|
|||
__all__ = ['PapBrowser']
|
||||
|
||||
|
||||
class PapBrowser(BaseBrowser):
|
||||
class PapBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'www.pap.fr'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser
|
||||
from weboob.tools.browser import Browser
|
||||
|
||||
from .pages import PageList, PageList2, PageEvent
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ from .pages import PageList, PageList2, PageEvent
|
|||
__all__ = ['ParisKiwiBrowser']
|
||||
|
||||
|
||||
class ParisKiwiBrowser(BaseBrowser):
|
||||
class ParisKiwiBrowser(Browser):
|
||||
PROTOCOL = 'http'
|
||||
DOMAIN = 'pariskiwi.org'
|
||||
ENCODING = 'utf-8'
|
||||
|
|
@ -39,7 +39,7 @@ class ParisKiwiBrowser(BaseBrowser):
|
|||
|
||||
def __init__(self, *a, **kw):
|
||||
kw['parser'] = 'raw'
|
||||
BaseBrowser.__init__(self, *a, **kw)
|
||||
Browser.__init__(self, *a, **kw)
|
||||
|
||||
def list_events_all(self):
|
||||
self.location('http://pariskiwi.org/~parislagrise/mediawiki/api.php?action=query&list=allpages&apprefix=Agenda%2FDetruire_Ennui_Paris&aplimit=500&format=json')
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import SongResultsPage, SonglyricsPage, ArtistResultsPage, ArtistSongsPage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import SongResultsPage, SonglyricsPage, ArtistResultsPage, ArtistSon
|
|||
__all__ = ['ParolesmaniaBrowser']
|
||||
|
||||
|
||||
class ParolesmaniaBrowser(BaseBrowser):
|
||||
class ParolesmaniaBrowser(Browser):
|
||||
DOMAIN = 'www.parolesmania.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.parolesmania.com/recherche.php\?c=title.*': SongResultsPage,
|
||||
'http://www.parolesmania.com/recherche.php\?c=artist.*': ArtistResultsPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import SongResultsPage, SonglyricsPage, ArtistResultsPage, ArtistSongsPage, HomePage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import SongResultsPage, SonglyricsPage, ArtistResultsPage, ArtistSon
|
|||
__all__ = ['ParolesmusiqueBrowser']
|
||||
|
||||
|
||||
class ParolesmusiqueBrowser(BaseBrowser):
|
||||
class ParolesmusiqueBrowser(Browser):
|
||||
DOMAIN = 'www.paroles-musique.com'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.paroles-musique.com': HomePage,
|
||||
'http://www.paroles-musique.com/lyrics-paroles-0-.*,0.php': SongResultsPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserHTTPNotFound
|
||||
from weboob.tools.browser import Browser, BrowserHTTPNotFound
|
||||
|
||||
from .pages import ResultsPage, SonglyricsPage, ArtistSongsPage, HomePage
|
||||
|
||||
|
|
@ -26,11 +26,11 @@ from .pages import ResultsPage, SonglyricsPage, ArtistSongsPage, HomePage
|
|||
__all__ = ['ParolesnetBrowser']
|
||||
|
||||
|
||||
class ParolesnetBrowser(BaseBrowser):
|
||||
class ParolesnetBrowser(Browser):
|
||||
DOMAIN = 'www.paroles.net'
|
||||
PROTOCOL = 'http'
|
||||
ENCODING = 'utf-8'
|
||||
USER_AGENT = BaseBrowser.USER_AGENTS['wget']
|
||||
USER_AGENT = Browser.USER_AGENTS['wget']
|
||||
PAGES = {
|
||||
'http://www.paroles.net': HomePage,
|
||||
'http://www.paroles.net/search': ResultsPage,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from .pages import LoginPage, AccountPage, DownloadHistoryPage, LastDownloadHistoryPage, SubmitPage, HistoryParser, UselessPage, HistoryPage, CSVAlreadyAsked
|
||||
import datetime
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ import datetime
|
|||
__all__ = ['Paypal']
|
||||
|
||||
|
||||
class Paypal(BaseBrowser):
|
||||
class Paypal(Browser):
|
||||
DOMAIN = 'www.paypal.com'
|
||||
PROTOCOL = 'https'
|
||||
CERTHASH = ['b8f6c76050ed3035aab08474b1da0ff783f20d114b1740e8db275fe433ff69af', '96753399cf183334cef00a72719ea8e13cfe68d1e953006348f41f884180de15']
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import re
|
|||
import urllib
|
||||
from urlparse import urlsplit
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import Browser, BrowserIncorrectPassword
|
||||
from weboob.capabilities.messages import CantSendMessage
|
||||
|
||||
from .pages.index import LoginPage
|
||||
|
|
@ -34,7 +34,7 @@ __all__ = ['PhpBB']
|
|||
|
||||
|
||||
# Browser
|
||||
class PhpBB(BaseBrowser):
|
||||
class PhpBB(Browser):
|
||||
PAGES = {'https?://.*/index.php': ForumPage,
|
||||
'https?://.*/': ForumPage,
|
||||
'https?://.*/viewforum.php\?f=(\d+)': ForumPage,
|
||||
|
|
@ -52,10 +52,10 @@ class PhpBB(BaseBrowser):
|
|||
self.PROTOCOL = v.scheme
|
||||
self.DOMAIN = v.netloc
|
||||
self.BASEPATH = v.path[:v.path.rfind('/')]
|
||||
BaseBrowser.__init__(self, *args, **kwargs)
|
||||
Browser.__init__(self, *args, **kwargs)
|
||||
|
||||
def absurl(self, rel):
|
||||
return BaseBrowser.absurl(self, '%s/%s' % (self.BASEPATH, rel))
|
||||
return Browser.absurl(self, '%s/%s' % (self.BASEPATH, rel))
|
||||
|
||||
def home(self):
|
||||
self.location(self.url)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue