support repositories to manage backends (closes #747)
|
|
@ -23,23 +23,35 @@ try:
|
||||||
except ImportError, e:
|
except ImportError, e:
|
||||||
from pysqlite2 import dbapi2 as sqlite
|
from pysqlite2 import dbapi2 as sqlite
|
||||||
|
|
||||||
|
from weboob.core import Weboob
|
||||||
|
from weboob.core.modules import ModuleLoadError
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
level = logging.DEBUG
|
level = logging.DEBUG
|
||||||
logging.basicConfig(stream=sys.stdout, level=level)
|
logging.basicConfig(stream=sys.stdout, level=level)
|
||||||
|
|
||||||
from weboob.backends.hds.browser import HDSBrowser
|
|
||||||
|
|
||||||
def main(filename):
|
def main(filename):
|
||||||
|
weboob = Weboob()
|
||||||
|
try:
|
||||||
|
hds = weboob.modules_loader.load_module('hds')
|
||||||
|
except ModuleLoadError, e:
|
||||||
|
print >>sys.stderr, 'Unable to load "hds" module: %s' % e
|
||||||
|
return 1
|
||||||
|
|
||||||
try:
|
try:
|
||||||
db = sqlite.connect(database=filename, timeout=10.0)
|
db = sqlite.connect(database=filename, timeout=10.0)
|
||||||
except sqlite.OperationalError, err:
|
except sqlite.OperationalError, err:
|
||||||
print 'Unable to open %s database: %s' % (filename, err)
|
print >>sys.stderr, 'Unable to open %s database: %s' % (filename, err)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
sys.stdout.write('Reading database... ')
|
sys.stdout.write('Reading database... ')
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
results = db.execute('SELECT id, author FROM stories')
|
try:
|
||||||
|
results = db.execute('SELECT id, author FROM stories')
|
||||||
|
except sqlite.OperationalError, err:
|
||||||
|
print >>sys.stderr, 'fail!\nUnable to read database: %s' % err
|
||||||
|
return 1
|
||||||
|
|
||||||
stored = set()
|
stored = set()
|
||||||
authors = set()
|
authors = set()
|
||||||
for r in results:
|
for r in results:
|
||||||
|
|
@ -48,7 +60,7 @@ def main(filename):
|
||||||
stored_authors = set([s[0] for s in db.execute('SELECT name FROM authors')])
|
stored_authors = set([s[0] for s in db.execute('SELECT name FROM authors')])
|
||||||
sys.stdout.write('ok\n')
|
sys.stdout.write('ok\n')
|
||||||
|
|
||||||
br = HDSBrowser()
|
br = hds.browser.HDSBrowser()
|
||||||
to_fetch = set()
|
to_fetch = set()
|
||||||
sys.stdout.write('Getting stories list from website... ')
|
sys.stdout.write('Getting stories list from website... ')
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 819 B After Width: | Height: | Size: 819 B |
|
|
@ -157,7 +157,7 @@ class Decoder:
|
||||||
self.hash = {}
|
self.hash = {}
|
||||||
|
|
||||||
def process(self):
|
def process(self):
|
||||||
from weboob.backends.aum.browser import AuMBrowser
|
from aum.browser import AuMBrowser
|
||||||
browser = AuMBrowser('')
|
browser = AuMBrowser('')
|
||||||
browser.openurl('/register2.php')
|
browser.openurl('/register2.php')
|
||||||
c = Captcha(browser.openurl('/captcha.php'))
|
c = Captcha(browser.openurl('/captcha.php'))
|
||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
|
@ -28,9 +28,9 @@ from weboob.capabilities.account import AccountRegisterError
|
||||||
from weboob.tools.log import getLogger
|
from weboob.tools.log import getLogger
|
||||||
from weboob.tools.value import Value, ValuesDict, ValueInt
|
from weboob.tools.value import Value, ValuesDict, ValueInt
|
||||||
|
|
||||||
from weboob.backends.aum.captcha import CaptchaError
|
from aum.captcha import CaptchaError
|
||||||
from weboob.backends.aum.exceptions import AdopteWait, AdopteBanned
|
from aum.exceptions import AdopteWait, AdopteBanned
|
||||||
from weboob.backends.aum.browser import AuMBrowser
|
from aum.browser import AuMBrowser
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['PriorityConnection']
|
__all__ = ['PriorityConnection']
|
||||||
|
|
@ -23,7 +23,7 @@ from logging import warning
|
||||||
|
|
||||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||||
from weboob.capabilities.bank import TransferError, Transfer
|
from weboob.capabilities.bank import TransferError, Transfer
|
||||||
from weboob.backends.bnporc import pages
|
from bnporc import pages
|
||||||
from .errors import PasswordExpired
|
from .errors import PasswordExpired
|
||||||
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
|
||||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||||
from weboob.backends.boursorama import pages
|
from boursorama import pages
|
||||||
|
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 652 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||||
from weboob.capabilities.bank import Transfer, TransferError
|
from weboob.capabilities.bank import Transfer, TransferError
|
||||||
from weboob.backends.cragr import pages
|
from cragr import pages
|
||||||
import mechanize
|
import mechanize
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import re
|
import re
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |