From 535d6efc47837e8bed49248d694f7900f942d106 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Mon, 14 Jan 2013 21:28:47 +0100 Subject: [PATCH] more explicit error messages during common import errors --- modules/aum/captcha.py | 6 +++++- modules/freemobile/pages/login.py | 6 +++++- modules/societegenerale/captcha.py | 6 +++++- modules/youtube/backend.py | 6 +++++- weboob/tools/browser/browser.py | 7 ++++++- weboob/tools/captcha/virtkeyboard.py | 6 +++++- weboob/tools/misc.py | 6 +++++- weboob/tools/newsfeed.py | 7 ++++++- 8 files changed, 42 insertions(+), 8 deletions(-) diff --git a/modules/aum/captcha.py b/modules/aum/captcha.py index f235c6cf..462d359a 100644 --- a/modules/aum/captcha.py +++ b/modules/aum/captcha.py @@ -20,7 +20,11 @@ import hashlib import sys -import Image + +try: + import Image +except ImportError: + raise ImportError('Please install python-imaging') class CaptchaError(Exception): pass diff --git a/modules/freemobile/pages/login.py b/modules/freemobile/pages/login.py index 1bb63292..f4134430 100644 --- a/modules/freemobile/pages/login.py +++ b/modules/freemobile/pages/login.py @@ -19,7 +19,11 @@ import time -import Image + +try: + import Image +except ImportError: + raise ImportError('Please install python-imaging') from weboob.tools.browser import BasePage diff --git a/modules/societegenerale/captcha.py b/modules/societegenerale/captcha.py index aa8e4a65..7ac3e6c0 100644 --- a/modules/societegenerale/captcha.py +++ b/modules/societegenerale/captcha.py @@ -19,7 +19,11 @@ import hashlib -import Image + +try: + import Image +except ImportError: + raise ImportError('Please install python-imaging') class TileError(Exception): diff --git a/modules/youtube/backend.py b/modules/youtube/backend.py index 21722844..5ec6bb18 100644 --- a/modules/youtube/backend.py +++ b/modules/youtube/backend.py @@ -20,8 +20,12 @@ from __future__ import with_statement +try: + import gdata.youtube.service +except ImportError: + raise ImportError("Please install python-gdata") + import datetime -import gdata.youtube.service import re import urllib diff --git a/weboob/tools/browser/browser.py b/weboob/tools/browser/browser.py index cd503f3c..614f7fe9 100644 --- a/weboob/tools/browser/browser.py +++ b/weboob/tools/browser/browser.py @@ -22,7 +22,12 @@ from __future__ import with_statement from copy import copy from httplib import BadStatusLine from logging import warning -import mechanize + +try: + import mechanize +except ImportError: + raise ImportError('Please install python-mechanize') + import os import sys import re diff --git a/weboob/tools/captcha/virtkeyboard.py b/weboob/tools/captcha/virtkeyboard.py index 32306cac..d8eaf148 100644 --- a/weboob/tools/captcha/virtkeyboard.py +++ b/weboob/tools/captcha/virtkeyboard.py @@ -19,7 +19,11 @@ import hashlib -import Image + +try: + import Image +except ImportError: + raise ImportError('Please install python-imaging') class VirtKeyboardError(Exception): diff --git a/weboob/tools/misc.py b/weboob/tools/misc.py index 95154f1c..f9b63b40 100644 --- a/weboob/tools/misc.py +++ b/weboob/tools/misc.py @@ -20,7 +20,11 @@ from __future__ import with_statement -from dateutil import tz +try: + from dateutil import tz +except ImportError: + raise ImportError('Please install python-dateutil') + from logging import warning from time import time, sleep from tempfile import gettempdir diff --git a/weboob/tools/newsfeed.py b/weboob/tools/newsfeed.py index 7b28aad5..141f484c 100644 --- a/weboob/tools/newsfeed.py +++ b/weboob/tools/newsfeed.py @@ -18,7 +18,12 @@ # along with weboob. If not, see . import datetime -import feedparser + +try: + import feedparser +except ImportError: + raise ImportError('Please install python-feedparser') + if feedparser.__version__ >= '5.0': # feedparser >= 5.0 replaces this regexp on sgmllib and mechanize < 2.0 # fails with malformated webpages.