From 727e181a81d6f2df46e1e2253c9bfe6dc056dece Mon Sep 17 00:00:00 2001 From: Vincent A Date: Tue, 24 Jan 2017 23:45:24 +0100 Subject: [PATCH] remove weboob.tools.ordereddict Since Python 2.7 is the minimum version supported, collections.OrderedDict is guaranteed to exist and there is no need to reimplement it. --- modules/adecco/module.py | 2 +- modules/agendadulibre/module.py | 2 +- modules/amazon/module.py | 2 +- modules/apec/module.py | 3 +- modules/arte/module.py | 3 +- modules/aum/contact.py | 2 +- modules/axabanque/pages/bank.py | 3 +- modules/banquepopulaire/module.py | 2 +- modules/bnporc/deprecated/perso/transfer.py | 3 +- modules/bp/pages/accountlist.py | 2 +- modules/bred/dispobank/pages.py | 2 +- modules/caissedepargne/module.py | 2 +- modules/caissedepargne/pages.py | 3 +- modules/cappedtv/browser.py | 4 +- modules/cragr/module.py | 2 +- modules/creditdunord/module.py | 2 +- modules/dailymotion/module.py | 3 +- modules/ganassurances/module.py | 2 +- modules/happn/module.py | 3 +- modules/indeed/module.py | 3 +- modules/jcvelaux/module.py | 3 +- modules/lolix/module.py | 3 +- modules/manpower/module.py | 4 +- modules/monster/module.py | 2 +- modules/okc/module.py | 3 +- modules/popolemploi/module.py | 4 +- modules/razibus/module.py | 2 +- modules/regionsjob/module.py | 2 +- modules/societegenerale/pages/transfer.py | 2 +- modules/vimeo/module.py | 2 +- modules/voyagessncf/module.py | 2 +- modules/yahoo/module.py | 3 +- scripts/weboob | 2 +- weboob/applications/boobathon/boobathon.py | 2 +- weboob/applications/weboobcfg/weboobcfg.py | 2 +- weboob/browser/browsers.py | 2 +- weboob/browser/elements.py | 2 +- weboob/browser/pages.py | 2 +- weboob/capabilities/base.py | 3 +- weboob/capabilities/collection.py | 2 +- weboob/capabilities/contact.py | 2 +- weboob/capabilities/image.py | 3 +- weboob/tools/application/console.py | 2 +- .../application/formatters/iformatter.py | 2 +- weboob/tools/application/qt5/backendcfg.py | 2 +- weboob/tools/application/repl.py | 2 +- weboob/tools/config/iniconfig.py | 2 +- weboob/tools/ordereddict.py | 133 ------------------ weboob/tools/value.py | 3 +- 49 files changed, 61 insertions(+), 189 deletions(-) delete mode 100644 weboob/tools/ordereddict.py diff --git a/modules/adecco/module.py b/modules/adecco/module.py index b787529c7b..6f30438065 100644 --- a/modules/adecco/module.py +++ b/modules/adecco/module.py @@ -17,9 +17,9 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from weboob.capabilities.job import CapJob, BaseJobAdvert from .browser import AdeccoBrowser diff --git a/modules/agendadulibre/module.py b/modules/agendadulibre/module.py index 53586d8625..26066bf9d6 100644 --- a/modules/agendadulibre/module.py +++ b/modules/agendadulibre/module.py @@ -17,10 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.calendar import CapCalendarEvent, CATEGORIES -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from .browser import AgendadulibreBrowser diff --git a/modules/amazon/module.py b/modules/amazon/module.py index c6ca335579..b2aedda217 100644 --- a/modules/amazon/module.py +++ b/modules/amazon/module.py @@ -17,13 +17,13 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bill import CapDocument, Subscription, Bill, SubscriptionNotFound, DocumentNotFound from weboob.capabilities.shop import CapShop, Order from weboob.capabilities.base import find_object from weboob.tools.backend import Module, BackendConfig from weboob.tools.value import Value, ValueBackendPassword -from weboob.tools.ordereddict import OrderedDict from weboob.browser.exceptions import HTTPNotFound from .browser import Amazon diff --git a/modules/apec/module.py b/modules/apec/module.py index d318b18fe5..5a1683eec4 100644 --- a/modules/apec/module.py +++ b/modules/apec/module.py @@ -17,10 +17,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict + from weboob.capabilities.job import BaseJobAdvert from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.job import CapJob -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from .browser import ApecBrowser from .job import APEC_CONTRATS, APEC_EXPERIENCE diff --git a/modules/arte/module.py b/modules/arte/module.py index b4becf76ea..48ff902e25 100644 --- a/modules/arte/module.py +++ b/modules/arte/module.py @@ -19,7 +19,8 @@ import re -from weboob.tools.ordereddict import OrderedDict +from collections import OrderedDict + from weboob.capabilities.video import CapVideo, BaseVideo from weboob.capabilities.collection import CapCollection, CollectionNotFound, Collection from weboob.tools.backend import Module, BackendConfig diff --git a/modules/aum/contact.py b/modules/aum/contact.py index 5e5ff1396f..0dbd56d664 100644 --- a/modules/aum/contact.py +++ b/modules/aum/contact.py @@ -22,8 +22,8 @@ import socket from datetime import datetime from dateutil.parser import parse as parse_dt +from collections import OrderedDict -from weboob.tools.ordereddict import OrderedDict from weboob.capabilities.contact import Contact as _Contact, ProfileNode from weboob.tools.html import html2text diff --git a/modules/axabanque/pages/bank.py b/modules/axabanque/pages/bank.py index 3f35cf7f9a..d4bb0a58b5 100644 --- a/modules/axabanque/pages/bank.py +++ b/modules/axabanque/pages/bank.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import re from decimal import Decimal, InvalidOperation @@ -30,7 +30,6 @@ from weboob.capabilities.bank import Account, Investment from weboob.capabilities.base import NotAvailable from weboob.tools.capabilities.bank.transactions import FrenchTransaction -from weboob.tools.ordereddict import OrderedDict def MyDecimal(*args, **kwargs): diff --git a/modules/banquepopulaire/module.py b/modules/banquepopulaire/module.py index ff319d17cb..cc7d8b3726 100644 --- a/modules/banquepopulaire/module.py +++ b/modules/banquepopulaire/module.py @@ -17,10 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bank import CapBank, AccountNotFound from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import ValueBackendPassword, Value from .browser import BanquePopulaire diff --git a/modules/bnporc/deprecated/perso/transfer.py b/modules/bnporc/deprecated/perso/transfer.py index 8c75b33622..7b56f14ea6 100644 --- a/modules/bnporc/deprecated/perso/transfer.py +++ b/modules/bnporc/deprecated/perso/transfer.py @@ -17,11 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import re from weboob.deprecated.browser import Page, BrowserPasswordExpired -from weboob.tools.ordereddict import OrderedDict from weboob.capabilities.bank import TransferError diff --git a/modules/bp/pages/accountlist.py b/modules/bp/pages/accountlist.py index d05e96bbf9..0eed2adab7 100644 --- a/modules/bp/pages/accountlist.py +++ b/modules/bp/pages/accountlist.py @@ -21,6 +21,7 @@ from cStringIO import StringIO import re from decimal import Decimal +from collections import OrderedDict from weboob.capabilities.base import NotAvailable from weboob.capabilities.bank import Account @@ -31,7 +32,6 @@ from weboob.browser.filters.standard import CleanText, Regexp, Env from weboob.exceptions import BrowserUnavailable, NoAccountsException from weboob.tools.capabilities.bank.transactions import FrenchTransaction -from weboob.tools.ordereddict import OrderedDict from .base import MyHTMLPage diff --git a/modules/bred/dispobank/pages.py b/modules/bred/dispobank/pages.py index 6703675db2..06d3ccd12f 100644 --- a/modules/bred/dispobank/pages.py +++ b/modules/bred/dispobank/pages.py @@ -24,10 +24,10 @@ from decimal import Decimal, InvalidOperation import re +from collections import OrderedDict from weboob.deprecated.browser import Page from weboob.tools.misc import to_unicode -from weboob.tools.ordereddict import OrderedDict from weboob.capabilities.bank import Account from weboob.tools.capabilities.bank.transactions import FrenchTransaction diff --git a/modules/caissedepargne/module.py b/modules/caissedepargne/module.py index 375b3f8d7e..dc318250b9 100644 --- a/modules/caissedepargne/module.py +++ b/modules/caissedepargne/module.py @@ -17,12 +17,12 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bank import CapBank, AccountNotFound from weboob.capabilities.contact import CapContact from weboob.tools.backend import Module, BackendConfig from weboob.tools.value import Value, ValueBackendPassword -from weboob.tools.ordereddict import OrderedDict from .browser import CaisseEpargne diff --git a/modules/caissedepargne/pages.py b/modules/caissedepargne/pages.py index 6ef2b51856..f2d1fb2ff7 100644 --- a/modules/caissedepargne/pages.py +++ b/modules/caissedepargne/pages.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import re import json @@ -31,7 +31,6 @@ from weboob.capabilities import NotAvailable from weboob.capabilities.bank import Account, Transaction, Investment from weboob.capabilities.contact import Advisor -from weboob.tools.ordereddict import OrderedDict from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.capabilities.bank.iban import is_rib_valid, rib2iban from weboob.exceptions import NoAccountsException, BrowserUnavailable diff --git a/modules/cappedtv/browser.py b/modules/cappedtv/browser.py index d3486fa3c1..bf6df30ee9 100644 --- a/modules/cappedtv/browser.py +++ b/modules/cappedtv/browser.py @@ -8,9 +8,10 @@ # To Public License, Version 2, as published by Sam Hocevar. See # http://sam.zoy.org/wtfpl/COPYING for more details. - +from collections import OrderedDict import urllib import datetime + from weboob.capabilities.base import NotAvailable from weboob.tools.misc import to_unicode from weboob.deprecated.browser import Page @@ -19,7 +20,6 @@ from weboob.deprecated.browser.decorators import id2url from weboob.capabilities.image import Thumbnail from weboob.capabilities.video import BaseVideo -from weboob.tools.ordereddict import OrderedDict __all__ = ['CappedBrowser'] diff --git a/modules/cragr/module.py b/modules/cragr/module.py index ae6d115242..952a35ea71 100644 --- a/modules/cragr/module.py +++ b/modules/cragr/module.py @@ -17,11 +17,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bank import AccountNotFound, CapBankTransfer from weboob.capabilities.contact import CapContact from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import ValueBackendPassword, Value from .web.browser import Cragr diff --git a/modules/creditdunord/module.py b/modules/creditdunord/module.py index 56096d0b61..891a94ed17 100644 --- a/modules/creditdunord/module.py +++ b/modules/creditdunord/module.py @@ -17,10 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bank import CapBank, AccountNotFound from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import ValueBackendPassword, Value from .browser import CreditDuNordBrowser diff --git a/modules/dailymotion/module.py b/modules/dailymotion/module.py index 0104c93d61..9085c4ccc9 100644 --- a/modules/dailymotion/module.py +++ b/modules/dailymotion/module.py @@ -17,11 +17,12 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict + from weboob.capabilities.video import CapVideo, BaseVideo from weboob.capabilities.collection import CapCollection, CollectionNotFound from weboob.tools.backend import Module, BackendConfig from weboob.tools.value import Value -from weboob.tools.ordereddict import OrderedDict from .browser import DailymotionBrowser import re diff --git a/modules/ganassurances/module.py b/modules/ganassurances/module.py index 1a6d3800e0..1b5e7bd786 100644 --- a/modules/ganassurances/module.py +++ b/modules/ganassurances/module.py @@ -17,11 +17,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.bank import CapBank, AccountNotFound from weboob.capabilities.base import find_object from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import ValueBackendPassword, Value from .browser import GanAssurances diff --git a/modules/happn/module.py b/modules/happn/module.py index 55e9b94f6c..6aa5a41cb9 100644 --- a/modules/happn/module.py +++ b/modules/happn/module.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import datetime from dateutil.parser import parse as parse_date from dateutil.relativedelta import relativedelta @@ -31,7 +31,6 @@ from weboob.exceptions import BrowserHTTPError from weboob.tools.backend import Module, BackendConfig from weboob.tools.value import Value, ValueBackendPassword -from weboob.tools.ordereddict import OrderedDict from weboob.tools.log import getLogger from .browser import HappnBrowser, FacebookBrowser diff --git a/modules/indeed/module.py b/modules/indeed/module.py index 574e9ca93d..b12462f9cb 100644 --- a/modules/indeed/module.py +++ b/modules/indeed/module.py @@ -17,11 +17,12 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.capabilities.job import CapJob, BaseJobAdvert from weboob.tools.value import Value + from .browser import IndeedBrowser __all__ = ['IndeedModule'] diff --git a/modules/jcvelaux/module.py b/modules/jcvelaux/module.py index 476afb4ab1..85f3c567ff 100644 --- a/modules/jcvelaux/module.py +++ b/modules/jcvelaux/module.py @@ -19,11 +19,12 @@ from __future__ import unicode_literals +from collections import OrderedDict + from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.base import StringField, UserError from weboob.capabilities.gauge import CapGauge, GaugeSensor, Gauge, GaugeMeasure, SensorNotFound from weboob.tools.value import Value, ValueBackendPassword -from weboob.tools.ordereddict import OrderedDict from .browser import VelibBrowser diff --git a/modules/lolix/module.py b/modules/lolix/module.py index 434bca69ce..b9e251718e 100644 --- a/modules/lolix/module.py +++ b/modules/lolix/module.py @@ -17,8 +17,9 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict + from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from weboob.capabilities.job import CapJob, BaseJobAdvert diff --git a/modules/manpower/module.py b/modules/manpower/module.py index 779c9a3e02..1d7faef57a 100644 --- a/modules/manpower/module.py +++ b/modules/manpower/module.py @@ -17,10 +17,12 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict + from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from weboob.capabilities.job import CapJob, BaseJobAdvert + from .browser import ManpowerBrowser diff --git a/modules/monster/module.py b/modules/monster/module.py index 27beea2885..c38e66c248 100644 --- a/modules/monster/module.py +++ b/modules/monster/module.py @@ -17,11 +17,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.job import CapJob, BaseJobAdvert from weboob.tools.value import Value -from weboob.tools.ordereddict import OrderedDict from .browser import MonsterBrowser diff --git a/modules/okc/module.py b/modules/okc/module.py index 33d6cbfdc8..d18510e6aa 100644 --- a/modules/okc/module.py +++ b/modules/okc/module.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict from datetime import datetime from html2text import unescape @@ -26,7 +26,6 @@ from weboob.capabilities.messages import CapMessages, CapMessagesPost, Message, Thread from weboob.tools.backend import Module, BackendConfig from weboob.tools.misc import to_unicode -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value, ValueBackendPassword from .browser import OkCBrowser diff --git a/modules/popolemploi/module.py b/modules/popolemploi/module.py index 335bed54ac..45a915f3cd 100644 --- a/modules/popolemploi/module.py +++ b/modules/popolemploi/module.py @@ -16,12 +16,14 @@ # # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . + +from collections import OrderedDict + from weboob.capabilities.job import BaseJobAdvert from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.job import CapJob from weboob.tools.value import Value -from weboob.tools.ordereddict import OrderedDict from .browser import PopolemploiBrowser diff --git a/modules/razibus/module.py b/modules/razibus/module.py index 6c31db14cc..a9ea212968 100644 --- a/modules/razibus/module.py +++ b/modules/razibus/module.py @@ -17,10 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.calendar import CapCalendarEvent, CATEGORIES -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from .browser import RazibusBrowser diff --git a/modules/regionsjob/module.py b/modules/regionsjob/module.py index f402bb7310..1c56bf8bff 100644 --- a/modules/regionsjob/module.py +++ b/modules/regionsjob/module.py @@ -17,11 +17,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.job import CapJob, BaseJobAdvert from .browser import RegionsjobBrowser -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value diff --git a/modules/societegenerale/pages/transfer.py b/modules/societegenerale/pages/transfer.py index d94aff329e..3bcb42d424 100644 --- a/modules/societegenerale/pages/transfer.py +++ b/modules/societegenerale/pages/transfer.py @@ -19,6 +19,7 @@ from datetime import datetime, timedelta import re +from collections import OrderedDict from cStringIO import StringIO from logging import error from weboob.tools.json import json @@ -31,7 +32,6 @@ Env, Date from weboob.browser.filters.html import Attr from weboob.tools.capabilities.bank.transactions import FrenchTransaction -from weboob.tools.ordereddict import OrderedDict from ..captcha import Captcha, TileError from .base import BasePage diff --git a/modules/vimeo/module.py b/modules/vimeo/module.py index b264f37208..1478defc20 100644 --- a/modules/vimeo/module.py +++ b/modules/vimeo/module.py @@ -18,11 +18,11 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.capabilities.video import CapVideo, BaseVideo from weboob.capabilities.collection import CapCollection, CollectionNotFound, Collection from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value diff --git a/modules/voyagessncf/module.py b/modules/voyagessncf/module.py index d5cd82f72a..7c6fb08f51 100644 --- a/modules/voyagessncf/module.py +++ b/modules/voyagessncf/module.py @@ -17,9 +17,9 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from weboob.capabilities.travel import CapTravel, Station, Departure from weboob.capabilities import UserError diff --git a/modules/yahoo/module.py b/modules/yahoo/module.py index 1b11a90487..5df08ae1d5 100644 --- a/modules/yahoo/module.py +++ b/modules/yahoo/module.py @@ -17,9 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict + from weboob.capabilities.weather import CapWeather from weboob.tools.backend import Module, BackendConfig -from weboob.tools.ordereddict import OrderedDict from weboob.tools.value import Value from .browser import YahooBrowser diff --git a/scripts/weboob b/scripts/weboob index b1892eba15..999eb605c5 100755 --- a/scripts/weboob +++ b/scripts/weboob @@ -27,9 +27,9 @@ import os import sys import inspect from datetime import datetime, timedelta +from collections import OrderedDict import weboob.applications -from weboob.tools.ordereddict import OrderedDict from weboob.tools.application.console import ConsoleApplication diff --git a/weboob/applications/boobathon/boobathon.py b/weboob/applications/boobathon/boobathon.py index 84e35769c0..9ea248c6a1 100644 --- a/weboob/applications/boobathon/boobathon.py +++ b/weboob/applications/boobathon/boobathon.py @@ -24,10 +24,10 @@ import sys from urlparse import urlsplit from random import choice +from collections import OrderedDict from weboob.capabilities.content import CapContent from weboob.tools.application.repl import ReplApplication -from weboob.tools.ordereddict import OrderedDict __all__ = ['Boobathon'] diff --git a/weboob/applications/weboobcfg/weboobcfg.py b/weboob/applications/weboobcfg/weboobcfg.py index 478fb723aa..2f6bfc3df0 100644 --- a/weboob/applications/weboobcfg/weboobcfg.py +++ b/weboob/applications/weboobcfg/weboobcfg.py @@ -21,12 +21,12 @@ import os import re +from collections import OrderedDict from weboob.capabilities.account import CapAccount from weboob.exceptions import ModuleLoadError from weboob.tools.application.repl import ReplApplication from weboob.tools.application.console import ConsoleProgress -from weboob.tools.ordereddict import OrderedDict from weboob.tools.application.formatters.iformatter import IFormatter __all__ = ['WeboobCfg'] diff --git a/weboob/browser/browsers.py b/weboob/browser/browsers.py index 77a8687434..788bd96cf9 100644 --- a/weboob/browser/browsers.py +++ b/weboob/browser/browsers.py @@ -19,6 +19,7 @@ from __future__ import absolute_import, print_function +from collections import OrderedDict from functools import wraps import re import pickle @@ -47,7 +48,6 @@ from weboob.exceptions import BrowserHTTPSDowngrade, ModuleInstallError from weboob.tools.log import getLogger -from weboob.tools.ordereddict import OrderedDict from weboob.tools.json import json from .cookies import WeboobCookieJar diff --git a/weboob/browser/elements.py b/weboob/browser/elements.py index f0288ddea0..ffda7873d7 100644 --- a/weboob/browser/elements.py +++ b/weboob/browser/elements.py @@ -19,10 +19,10 @@ import re import sys +from collections import OrderedDict from copy import deepcopy from weboob.tools.log import getLogger, DEBUG_FILTERS -from weboob.tools.ordereddict import OrderedDict from weboob.browser.pages import NextPage from .filters.standard import _Filter, CleanText diff --git a/weboob/browser/pages.py b/weboob/browser/pages.py index 1abd313db8..826da1328d 100644 --- a/weboob/browser/pages.py +++ b/weboob/browser/pages.py @@ -19,6 +19,7 @@ from __future__ import absolute_import +from collections import OrderedDict from functools import wraps import warnings from io import BytesIO @@ -34,7 +35,6 @@ from weboob.exceptions import ParseError, ModuleInstallError from weboob.tools.compat import basestring from weboob.tools.log import getLogger -from weboob.tools.ordereddict import OrderedDict from weboob.tools.pdf import decompress_pdf diff --git a/weboob/capabilities/base.py b/weboob/capabilities/base.py index b91ac5e694..921b8455b6 100644 --- a/weboob/capabilities/base.py +++ b/weboob/capabilities/base.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import warnings import re from decimal import Decimal @@ -25,7 +25,6 @@ from weboob.tools.compat import unicode, long from weboob.tools.misc import to_unicode -from weboob.tools.ordereddict import OrderedDict __all__ = ['UserError', 'FieldNotFound', 'NotAvailable', diff --git a/weboob/capabilities/collection.py b/weboob/capabilities/collection.py index 08f177880d..0704543414 100644 --- a/weboob/capabilities/collection.py +++ b/weboob/capabilities/collection.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -from weboob.tools.ordereddict import OrderedDict +from collections import OrderedDict from .base import Capability, BaseObject, UserError, StringField, Field diff --git a/weboob/capabilities/contact.py b/weboob/capabilities/contact.py index bdf1e5de3a..70a4d7d76c 100644 --- a/weboob/capabilities/contact.py +++ b/weboob/capabilities/contact.py @@ -17,10 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from collections import OrderedDict from .base import Capability, BaseObject, Field, StringField, BytesField, IntField, \ UserError -from weboob.tools.ordereddict import OrderedDict __all__ = ['ProfileNode', 'ContactPhoto', 'Contact', 'QueryError', 'Query', 'CapContact'] diff --git a/weboob/capabilities/image.py b/weboob/capabilities/image.py index ee6c9338cc..672ae929a4 100644 --- a/weboob/capabilities/image.py +++ b/weboob/capabilities/image.py @@ -18,7 +18,8 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -from weboob.tools.ordereddict import OrderedDict +from collections import OrderedDict + from .base import NotLoaded, Field, BytesField from .file import CapFile, BaseFile diff --git a/weboob/tools/application/console.py b/weboob/tools/application/console.py index 9ac0726ec4..e63804d716 100644 --- a/weboob/tools/application/console.py +++ b/weboob/tools/application/console.py @@ -20,6 +20,7 @@ from __future__ import print_function +from collections import OrderedDict from copy import copy import getpass import logging @@ -38,7 +39,6 @@ from weboob.tools.value import Value, ValueBool, ValueFloat, ValueInt, ValueBackendPassword from weboob.tools.misc import to_unicode from weboob.tools.compat import check_output -from weboob.tools.ordereddict import OrderedDict from .base import Application, MoreResultsAvailable diff --git a/weboob/tools/application/formatters/iformatter.py b/weboob/tools/application/formatters/iformatter.py index cd9ff574bf..d82c480bcc 100644 --- a/weboob/tools/application/formatters/iformatter.py +++ b/weboob/tools/application/formatters/iformatter.py @@ -20,6 +20,7 @@ from __future__ import print_function +from collections import OrderedDict import os import sys import subprocess @@ -61,7 +62,6 @@ def readch(): from weboob.capabilities.base import BaseObject from weboob.tools.application.console import ConsoleApplication -from weboob.tools.ordereddict import OrderedDict from weboob.tools.misc import guess_encoding __all__ = ['IFormatter', 'MandatoryFieldsNotFound'] diff --git a/weboob/tools/application/qt5/backendcfg.py b/weboob/tools/application/qt5/backendcfg.py index 15c1287494..b8ef49729d 100644 --- a/weboob/tools/application/qt5/backendcfg.py +++ b/weboob/tools/application/qt5/backendcfg.py @@ -26,6 +26,7 @@ from PyQt5.QtCore import Qt, QVariant, QUrl, QThread from PyQt5.QtCore import pyqtSignal as Signal, pyqtSlot as Slot +from collections import OrderedDict import re import os from logging import warning @@ -36,7 +37,6 @@ from weboob.exceptions import ModuleInstallError, ModuleLoadError from .backendcfg_ui import Ui_BackendCfg from .reposdlg_ui import Ui_RepositoriesDlg -from weboob.tools.ordereddict import OrderedDict from weboob.tools.misc import to_unicode from .qt import QtValue diff --git a/weboob/tools/application/repl.py b/weboob/tools/application/repl.py index 545d80ea2f..ed864dfad6 100644 --- a/weboob/tools/application/repl.py +++ b/weboob/tools/application/repl.py @@ -21,6 +21,7 @@ import atexit from cmd import Cmd +from collections import OrderedDict import logging import re from optparse import OptionGroup, OptionParser, IndentedHelpFormatter @@ -32,7 +33,6 @@ from weboob.tools.application.formatters.iformatter import MandatoryFieldsNotFound from weboob.tools.misc import to_unicode from weboob.tools.path import WorkingPath -from weboob.tools.ordereddict import OrderedDict from weboob.capabilities.collection import Collection, BaseCollection, CapCollection, CollectionNotFound from .console import BackendNotGiven, ConsoleApplication diff --git a/weboob/tools/config/iniconfig.py b/weboob/tools/config/iniconfig.py index 859f9eb14f..1f08a113b4 100644 --- a/weboob/tools/config/iniconfig.py +++ b/weboob/tools/config/iniconfig.py @@ -19,11 +19,11 @@ from ConfigParser import RawConfigParser, DEFAULTSECT +from collections import OrderedDict from decimal import Decimal import logging import os -from weboob.tools.ordereddict import OrderedDict from .iconfig import IConfig diff --git a/weboob/tools/ordereddict.py b/weboob/tools/ordereddict.py deleted file mode 100644 index 269e43859b..0000000000 --- a/weboob/tools/ordereddict.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright(C) 2010-2011 Christophe Benz -# -# This file is part of weboob. -# -# weboob is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# weboob 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 Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with weboob. If not, see . -from __future__ import absolute_import - -__all__ = ['OrderedDict'] - - -try: - from collections import OrderedDict -except ImportError: - try: - from simplejson import OrderedDict - except ImportError: - try: - from ordereddict import OrderedDict - except ImportError: - # {{{ http://code.activestate.com/recipes/576693/ (r6) - from UserDict import DictMixin - - class OrderedDict(dict, DictMixin): - def __init__(self, *args, **kwds): - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__end - except AttributeError: - self.clear() - self.update(*args, **kwds) - - def clear(self): - self.__end = end = [] - end += [None, end, end] # sentinel node for doubly linked list - self.__map = {} # key --> [key, prev, next] - dict.clear(self) - - def __setitem__(self, key, value): - if key not in self: - end = self.__end - curr = end[1] - curr[2] = end[1] = self.__map[key] = [key, curr, end] - dict.__setitem__(self, key, value) - - def __delitem__(self, key): - dict.__delitem__(self, key) - key, prev, next = self.__map.pop(key) - prev[2] = next - next[1] = prev - - def __iter__(self): - end = self.__end - curr = end[2] - while curr is not end: - yield curr[0] - curr = curr[2] - - def __reversed__(self): - end = self.__end - curr = end[1] - while curr is not end: - yield curr[0] - curr = curr[1] - - def popitem(self, last=True): - if not self: - raise KeyError('dictionary is empty') - if last: - key = reversed(self).next() - else: - key = iter(self).next() - value = self.pop(key) - return key, value - - def __reduce__(self): - items = [[k, self[k]] for k in self] - tmp = self.__map, self.__end - del self.__map, self.__end - inst_dict = vars(self).copy() - self.__map, self.__end = tmp - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def keys(self): - return list(self) - - setdefault = DictMixin.setdefault - update = DictMixin.update - pop = DictMixin.pop - values = DictMixin.values - items = DictMixin.items - iterkeys = DictMixin.iterkeys - itervalues = DictMixin.itervalues - iteritems = DictMixin.iteritems - - def __repr__(self): - if not self: - return '%s()' % (self.__class__.__name__,) - return '%s(%r)' % (self.__class__.__name__, self.items()) - - def copy(self): - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - d = cls() - for key in iterable: - d[key] = value - return d - - def __eq__(self, other): - if isinstance(other, OrderedDict): - return len(self) == len(other) and self.items() == other.items() - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other - # end of http://code.activestate.com/recipes/576693/ }}} diff --git a/weboob/tools/value.py b/weboob/tools/value.py index fe1b81ea33..1914d0b925 100644 --- a/weboob/tools/value.py +++ b/weboob/tools/value.py @@ -17,13 +17,12 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . - +from collections import OrderedDict import re import subprocess from .compat import check_output from .misc import to_unicode -from .ordereddict import OrderedDict __all__ = ['ValuesDict', 'Value', 'ValueBackendPassword', 'ValueInt', 'ValueFloat', 'ValueBool'] -- GitLab