diff --git a/weboob/tools/application/base.py b/weboob/tools/application/base.py index e8461133..504bc932 100644 --- a/weboob/tools/application/base.py +++ b/weboob/tools/application/base.py @@ -25,7 +25,6 @@ import optparse from optparse import OptionGroup, OptionParser import os import sys -import tempfile import warnings from weboob.capabilities.base import ConversionWarning, BaseObject @@ -361,6 +360,7 @@ class BaseApplication(object): handlers = [] if self.options.save_responses: + import tempfile responses_dirname = tempfile.mkdtemp(prefix='weboob_session_') print('Debug data will be saved in this directory: %s' % responses_dirname, file=sys.stderr) log_settings['save_responses'] = True diff --git a/weboob/tools/application/console.py b/weboob/tools/application/console.py index ef91abc4..c010f53c 100644 --- a/weboob/tools/application/console.py +++ b/weboob/tools/application/console.py @@ -27,7 +27,6 @@ import subprocess import sys import os import locale -from tempfile import NamedTemporaryFile from ssl import SSLError from weboob.capabilities import UserError @@ -494,6 +493,7 @@ class ConsoleApplication(BaseApplication): def acquire_input(self, content=None, editor_params=None): editor = os.getenv('EDITOR', 'vi') if sys.stdin.isatty() and editor: + from tempfile import NamedTemporaryFile with NamedTemporaryFile() as f: filename = f.name if content is not None: diff --git a/weboob/tools/browser/browser.py b/weboob/tools/browser/browser.py index d0d5931d..b0ccc432 100644 --- a/weboob/tools/browser/browser.py +++ b/weboob/tools/browser/browser.py @@ -35,7 +35,6 @@ except ImportError: import os import re -import tempfile from threading import RLock import ssl import httplib @@ -286,6 +285,7 @@ class StandardBrowser(mechanize.Browser): The stream is rewinded after saving. """ if self.responses_dirname is None: + import tempfile self.responses_dirname = tempfile.mkdtemp(prefix='weboob_session_') print('Debug data will be saved in this directory: %s' % self.responses_dirname, file=sys.stderr) elif not os.path.isdir(self.responses_dirname): diff --git a/weboob/tools/browser2/browser.py b/weboob/tools/browser2/browser.py index bef5bdf7..03bfa0d7 100644 --- a/weboob/tools/browser2/browser.py +++ b/weboob/tools/browser2/browser.py @@ -24,9 +24,7 @@ try: from urllib.parse import urlparse, urljoin except ImportError: from urlparse import urlparse, urljoin -import mimetypes import os -import tempfile import sys try: @@ -160,11 +158,13 @@ class BaseBrowser(object): def _save(self, response, warning=False, **kwargs): if self.responses_dirname is None: + import tempfile self.responses_dirname = tempfile.mkdtemp(prefix='weboob_session_') print('Debug data will be saved in this directory: %s' % self.responses_dirname, file=sys.stderr) elif not os.path.isdir(self.responses_dirname): os.makedirs(self.responses_dirname) + import mimetypes # get the content-type, remove optionnal charset part mimetype = response.headers.get('Content-Type', '').split(';')[0] # due to http://bugs.python.org/issue1043134 diff --git a/weboob/tools/date.py b/weboob/tools/date.py index 7e1de45f..2c3bfe0f 100644 --- a/weboob/tools/date.py +++ b/weboob/tools/date.py @@ -19,7 +19,6 @@ from datetime import date as real_date, datetime as real_datetime, timedelta -import dateutil.parser import time import re try: @@ -264,6 +263,7 @@ def parse_french_date(date): for fr, en in DATE_TRANSLATE_FR: date = fr.sub(en, date) + import dateutil.parser return dateutil.parser.parse(date) diff --git a/weboob/tools/misc.py b/weboob/tools/misc.py index 5d479071..a4ec6598 100644 --- a/weboob/tools/misc.py +++ b/weboob/tools/misc.py @@ -20,7 +20,6 @@ import warnings from time import time, sleep -from tempfile import gettempdir import os import sys import traceback @@ -136,6 +135,7 @@ def ratelimit(group, delay): @param delay [int] delay in seconds between each call """ + from tempfile import gettempdir path = os.path.join(gettempdir(), 'weboob_ratelimit.%s' % group) while True: try: