From 1955d1be5939321fad820190148245aa1479085b Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Tue, 6 Jul 2010 12:12:29 +0200 Subject: [PATCH] move core files to weboob.core --- weboob/backends/aum/backend.py | 2 +- weboob/backends/bnporc/backend.py | 2 +- weboob/backends/canaltp/backend.py | 2 +- weboob/backends/cragr/backend.py | 2 +- weboob/backends/dlfp/backend.py | 4 ++-- weboob/backends/fourchan/backend.py | 4 ++-- weboob/backends/gazelle/backend.py | 2 +- weboob/backends/ina/backend.py | 2 +- weboob/backends/transilien/backend.py | 2 +- weboob/backends/youjizz/backend.py | 2 +- weboob/backends/youporn/backend.py | 2 +- weboob/backends/youtube/backend.py | 2 +- weboob/backends/yweather/backend.py | 2 +- weboob/core/__init__.py | 19 +++++++++++++++++++ weboob/{ => core}/backend.py | 0 weboob/{ => core}/bcall.py | 4 +++- weboob/{ouiboube.py => core/engine.py} | 10 +++++----- weboob/{ => core}/modules.py | 24 ++++++++++++------------ weboob/{ => core}/scheduler.py | 0 weboob/frontends/monboob/monboob.py | 4 ++-- weboob/frontends/wetboobs/wetboobs.py | 3 ++- weboob/tools/application/base.py | 2 +- weboob/tools/application/console.py | 6 +++--- weboob/tools/application/prompt.py | 4 ++-- weboob/tools/application/qt/qt.py | 4 ++-- 25 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 weboob/core/__init__.py rename weboob/{ => core}/backend.py (100%) rename weboob/{ => core}/bcall.py (99%) rename weboob/{ouiboube.py => core/engine.py} (96%) rename weboob/{ => core}/modules.py (88%) rename weboob/{ => core}/scheduler.py (100%) diff --git a/weboob/backends/aum/backend.py b/weboob/backends/aum/backend.py index d3e4155f98..8310685e5e 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 fcd81e7dda..38b296109a 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 26651b8f84..7d34cca899 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 5b75b0925c..af16f6f63b 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 81223e4ddf..c949184d37 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 9e23cb3a9b..7070f6f81e 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 6d6df97750..dd46022900 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 e57b3e7196..db7aceca4d 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 85aa8a7194..5fd469c9d5 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 adb30707ad..89a2fe02b9 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 717fe9b167..ed85f91350 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 0185de05ce..1620a18f97 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 94696655b4..22ff24239f 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 0000000000..45f700836d --- /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 dd941725e8..b707f9a1dd 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 eb13b9a2fe..3c7ed668d3 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 51a318c197..88a8f67a1c 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 b25bdb99ec..81ed3cfae6 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 ba0e4af991..840f268b1c 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 8359eb5fe4..4deed40d90 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 691add77c7..9a55b8009f 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 c5d6fc5af8..3ccad15257 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 334d93f679..e615046229 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 -- GitLab