diff --git a/weboob/backends/aum/backend.py b/weboob/backends/aum/backend.py index d3e4155f98e8ac1f0037a410ed44671761f8da1c..8310685e5ee4dab9ac8e7ef9d3d2d03ae6a56ab7 100644 --- a/weboob/backends/aum/backend.py +++ b/weboob/backends/aum/backend.py @@ -23,7 +23,7 @@ from logging import warning from time import sleep -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.chat import ICapChat from weboob.capabilities.messages import ICapMessages, ICapMessagesReply, Message from weboob.capabilities.dating import ICapDating, StatusField diff --git a/weboob/backends/bnporc/backend.py b/weboob/backends/bnporc/backend.py index fcd81e7ddaaaf561c95f521963a602181adde8e4..38b296109aaac64d8ea1843e7d15c183afd462d0 100644 --- a/weboob/backends/bnporc/backend.py +++ b/weboob/backends/bnporc/backend.py @@ -17,7 +17,7 @@ import os -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.bank import ICapBank, AccountNotFound from .browser import BNPorc diff --git a/weboob/backends/canaltp/backend.py b/weboob/backends/canaltp/backend.py index 26651b8f847bab707dec914c5062ce7154965265..7d34cca899fd53d5dbe0efce537ee17270586a4e 100644 --- a/weboob/backends/canaltp/backend.py +++ b/weboob/backends/canaltp/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.travel import ICapTravel, Station, Departure from .browser import CanalTP diff --git a/weboob/backends/cragr/backend.py b/weboob/backends/cragr/backend.py index 5b75b0925ce8b503e78b6c916c4f638c82e1e013..af16f6f63b6129bd157beec45cd77c6ab38600b4 100644 --- a/weboob/backends/cragr/backend.py +++ b/weboob/backends/cragr/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.bank import ICapBank, AccountNotFound from .browser import Cragr diff --git a/weboob/backends/dlfp/backend.py b/weboob/backends/dlfp/backend.py index 81223e4ddf5b83d0aab765d66e120b5bb058db38..c949184d37a18cb47b9058aa9d17739fb02d77cd 100644 --- a/weboob/backends/dlfp/backend.py +++ b/weboob/backends/dlfp/backend.py @@ -17,7 +17,7 @@ from __future__ import with_statement -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.tools.browser import BrowserUnavailable from weboob.capabilities.messages import ICapMessages, ICapMessagesReply, Message @@ -28,7 +28,7 @@ class DLFPBackend(BaseBackend, ICapMessages, ICapMessagesReply): NAME = 'dlfp' MAINTAINER = 'Romain Bignon' EMAIL = 'romain@peerfuse.org' - VERSION = '1.0' + VERSION = '0.1' LICENSE = 'GPLv3' DESCRIPTION = "Da Linux French Page" diff --git a/weboob/backends/fourchan/backend.py b/weboob/backends/fourchan/backend.py index 9e23cb3a9bc16100d9ffd8af738c34d702815a56..7070f6f81ef73d79530292308ff27f91c9cc30bf 100644 --- a/weboob/backends/fourchan/backend.py +++ b/weboob/backends/fourchan/backend.py @@ -19,7 +19,7 @@ from logging import warning -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.messages import ICapMessages, Message from .browser import FourChan @@ -28,7 +28,7 @@ class FourChanBackend(BaseBackend, ICapMessages): NAME = 'fourchan' MAINTAINER = 'Romain Bignon' EMAIL = 'romain@peerfuse.org' - VERSION = '1.0' + VERSION = '0.1' LICENSE = 'GPLv3' DESCRIPTION = "4chan website" diff --git a/weboob/backends/gazelle/backend.py b/weboob/backends/gazelle/backend.py index 6d6df977506aef624a2d562aa8f0e739e5f9854d..dd46022900787388bc807d9bf01a8d1d78089215 100644 --- a/weboob/backends/gazelle/backend.py +++ b/weboob/backends/gazelle/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.torrent import ICapTorrent from .browser import GazelleBrowser diff --git a/weboob/backends/ina/backend.py b/weboob/backends/ina/backend.py index e57b3e7196d0733d5c7d8e7ee51ebc78131c8dd0..db7aceca4d1f7eef87dfc54777124846cc9c82f7 100644 --- a/weboob/backends/ina/backend.py +++ b/weboob/backends/ina/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.video import ICapVideo from .browser import InaBrowser diff --git a/weboob/backends/transilien/backend.py b/weboob/backends/transilien/backend.py index 85aa8a71944eab3fde3b69372a6cb7a4e10f141a..5fd469c9d5a2f57eba627406ba0f3891a7b2c2f3 100644 --- a/weboob/backends/transilien/backend.py +++ b/weboob/backends/transilien/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.travel import ICapTravel, Station, Departure from .browser import Transilien diff --git a/weboob/backends/youjizz/backend.py b/weboob/backends/youjizz/backend.py index adb30707ad40c6216144ae64e1ad0a18566f54e3..89a2fe02b963882e5df62c0192ca5fc68b1dfda4 100644 --- a/weboob/backends/youjizz/backend.py +++ b/weboob/backends/youjizz/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.video import ICapVideo from .browser import YoujizzBrowser diff --git a/weboob/backends/youporn/backend.py b/weboob/backends/youporn/backend.py index 717fe9b167f1d6d853e1aef40d21ef77fd1a9ccb..ed85f913501194fd80a2962f114a9c9cb840b9f9 100644 --- a/weboob/backends/youporn/backend.py +++ b/weboob/backends/youporn/backend.py @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.video import ICapVideo from .browser import YoupornBrowser diff --git a/weboob/backends/youtube/backend.py b/weboob/backends/youtube/backend.py index 0185de05ce1eeb7f5ce24364719aee82970664aa..1620a18f9709f245d1aedefd1f2b7dcfc1a62181 100644 --- a/weboob/backends/youtube/backend.py +++ b/weboob/backends/youtube/backend.py @@ -18,7 +18,7 @@ import logging -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.video import ICapVideo from .browser import YoutubeBrowser diff --git a/weboob/backends/yweather/backend.py b/weboob/backends/yweather/backend.py index 94696655b47867982c791f0e6353be7203e1f0b2..22ff24239f11414079b3ea2a1aa4503dd02b7978 100644 --- a/weboob/backends/yweather/backend.py +++ b/weboob/backends/yweather/backend.py @@ -22,7 +22,7 @@ # TODO store datetime objects instead of strings # from datetime import datetime -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.weather import ICapWeather, CityNotFound, Current, Forecast class YWeatherBackend(BaseBackend, ICapWeather): diff --git a/weboob/core/__init__.py b/weboob/core/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..45f700836d63879e4587e04ab92400fde06b161b --- /dev/null +++ b/weboob/core/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +# Copyright(C) 2010 Christophe Benz +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +from .bcall import CallErrors diff --git a/weboob/backend.py b/weboob/core/backend.py similarity index 100% rename from weboob/backend.py rename to weboob/core/backend.py diff --git a/weboob/bcall.py b/weboob/core/bcall.py similarity index 99% rename from weboob/bcall.py rename to weboob/core/bcall.py index dd941725e801b29d4c73965878ea0e607a2ec25b..b707f9a1dd4b470fa96390d1276328b861d9507c 100644 --- a/weboob/bcall.py +++ b/weboob/core/bcall.py @@ -15,13 +15,15 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + from __future__ import with_statement from copy import copy import logging from logging import debug from threading import Thread, Event, RLock, Timer -from .tools.misc import get_backtrace +from weboob.tools.misc import get_backtrace + __all__ = ['BackendsCall', 'CallErrors'] diff --git a/weboob/ouiboube.py b/weboob/core/engine.py similarity index 96% rename from weboob/ouiboube.py rename to weboob/core/engine.py index eb13b9a2fe0af5189afa651ce575326dc83824d6..3c7ed668d332f876af58ad55cd1a15c29679f1d5 100644 --- a/weboob/ouiboube.py +++ b/weboob/core/engine.py @@ -22,16 +22,16 @@ import os import sys -from weboob.bcall import BackendsCall, CallErrors -from weboob.modules import ModulesLoader, BackendsConfig -from weboob.backend import BaseBackend -from weboob.scheduler import Scheduler +from weboob.core.bcall import BackendsCall +from weboob.core.modules import ModulesLoader, BackendsConfig +from weboob.core.backend import BaseBackend +from weboob.core.scheduler import Scheduler if sys.version_info[:2] <= (2, 5): import weboob.tools.property -__all__ = ['Weboob', 'CallErrors'] +__all__ = ['Weboob'] class Weboob(object): diff --git a/weboob/modules.py b/weboob/core/modules.py similarity index 88% rename from weboob/modules.py rename to weboob/core/modules.py index 51a318c197c0fb9a6d87b52a30a617d8e7baf8f0..88a8f67a1ce250d06bcf7a0c4735fcb128e666a7 100644 --- a/weboob/modules.py +++ b/weboob/core/modules.py @@ -25,15 +25,14 @@ import re import stat -import weboob.backends -from weboob.backend import BaseBackend +from weboob.core.backend import BaseBackend from weboob.capabilities.cap import ICap __all__ = ['Module'] -class Module: +class Module(object): def __init__(self, name, module): self.name = name self.module = module @@ -154,12 +153,13 @@ def get_or_load_module(self, name): return self.modules[name] def load(self): - path = weboob.backends.__path__[0] - regexp = re.compile('^%s/([\w\d_]+)$' % path) - for root, dirs, files in os.walk(path): - m = regexp.match(root) - if m and '__init__.py' in files: - self.load_module('weboob.backends.%s' % m.group(1)) + import weboob.backends + for path in weboob.backends.__path__: + regexp = re.compile('^%s/([\w\d_]+)$' % path) + for root, dirs, files in os.walk(path): + m = regexp.match(root) + if m and '__init__.py' in files: + self.load_module('weboob.backends.%s' % m.group(1)) def load_module(self, name): try: @@ -172,8 +172,8 @@ def load_module(self, name): else: error(msg) return - if name in self.modules: - warning('Module "%s" is already loaded (%s)' % self.modules[name].module) + if module.get_name() in self.modules: + warning('Module "%s" is already loaded (%s)' % (self.modules[module.get_name()].module, name)) return self.modules[module.get_name()] = module - debug('Loaded module "%s" (%s)' % (name, module.module.__name__)) + debug('Loaded module "%s" from %s' % (name, module.module.__path__)) diff --git a/weboob/scheduler.py b/weboob/core/scheduler.py similarity index 100% rename from weboob/scheduler.py rename to weboob/core/scheduler.py diff --git a/weboob/frontends/monboob/monboob.py b/weboob/frontends/monboob/monboob.py index b25bdb99eca2b3930d748e291ad1437bb26698f8..81ed3cfae68a6dd4959495644bee1769ac2fdeb7 100644 --- a/weboob/frontends/monboob/monboob.py +++ b/weboob/frontends/monboob/monboob.py @@ -28,8 +28,8 @@ import logging import asyncore -from weboob import Weboob -from weboob.scheduler import Scheduler +from weboob.core.engine import Weboob +from weboob.core.scheduler import Scheduler from weboob.capabilities.messages import ICapMessages, ICapMessagesReply, Message from weboob.tools.application import ConsoleApplication from weboob.tools.misc import html2text, get_backtrace, utc2local diff --git a/weboob/frontends/wetboobs/wetboobs.py b/weboob/frontends/wetboobs/wetboobs.py index ba0e4af99186222dfe72b4a263d7125a8922bed2..840f268b1c094e77eda9e68ba585e2a0a106e365 100644 --- a/weboob/frontends/wetboobs/wetboobs.py +++ b/weboob/frontends/wetboobs/wetboobs.py @@ -15,9 +15,10 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + import logging -from weboob import CallErrors +from weboob.core import CallErrors from weboob.capabilities.weather import ICapWeather, CityNotFound from weboob.tools.application import ConsoleApplication diff --git a/weboob/tools/application/base.py b/weboob/tools/application/base.py index 8359eb5fe4d780a8ce2a2a299a6ec7fe07c0a0ab..4deed40d908a30c3fdcdc2deca293640b700a553 100644 --- a/weboob/tools/application/base.py +++ b/weboob/tools/application/base.py @@ -21,7 +21,7 @@ import optparse from optparse import OptionGroup, OptionParser -from weboob import Weboob +from weboob.core.engine import Weboob from weboob.tools.config.iconfig import ConfigError diff --git a/weboob/tools/application/console.py b/weboob/tools/application/console.py index 691add77c7218d13039f85414c696287448ca5ae..9a55b8009f7e1231b8fae687d949fa053f5ce408 100644 --- a/weboob/tools/application/console.py +++ b/weboob/tools/application/console.py @@ -23,8 +23,8 @@ import re import sys -import weboob -from weboob.modules import BackendsConfig +from weboob.core.bcall import CallErrors +from weboob.core.modules import BackendsConfig from .base import BaseApplication from .formatters import formatters @@ -150,7 +150,7 @@ def f(x): try: command_result = func(*args) - except weboob.CallErrors, errors: + except CallErrors, errors: logging.error(errors) return 1 diff --git a/weboob/tools/application/prompt.py b/weboob/tools/application/prompt.py index c5d6fc5af886211dd3e3491d0811b54a2bbab42d..3ccad152577525d306eac7e20c961be41e8c6a3b 100644 --- a/weboob/tools/application/prompt.py +++ b/weboob/tools/application/prompt.py @@ -18,8 +18,8 @@ import sys -from weboob import Weboob -from weboob.scheduler import Scheduler +from weboob.core.engine import Weboob +from weboob.core.scheduler import Scheduler from .console import ConsoleApplication diff --git a/weboob/tools/application/qt/qt.py b/weboob/tools/application/qt/qt.py index 334d93f6795fb873ca3d507a6ef71b8e32ed122f..e61504622902d8f077da427aa58921e482ff8bee 100644 --- a/weboob/tools/application/qt/qt.py +++ b/weboob/tools/application/qt/qt.py @@ -21,8 +21,8 @@ QStyleOptionViewItemV4, QTextDocument, QStyle, \ QAbstractTextDocumentLayout, QPalette -from weboob import Weboob -from weboob.scheduler import IScheduler +from weboob.core.engine import Weboob +from weboob.core.scheduler import IScheduler from ..base import BaseApplication