From edb84a621ac0398ab4339ada6ba006891031c77c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 2 May 2013 18:46:42 +0530 Subject: [PATCH] delay load urllib --- src/calibre/customize/builtins.py | 2 +- src/calibre/ebooks/conversion/plugins/html_input.py | 2 +- src/calibre/ebooks/metadata/__init__.py | 3 ++- src/calibre/ebooks/metadata/sources/amazon.py | 2 +- src/calibre/ebooks/metadata/sources/douban.py | 2 +- src/calibre/ebooks/metadata/sources/google.py | 2 +- src/calibre/ebooks/metadata/sources/isbndb.py | 2 +- src/calibre/ebooks/metadata/sources/ozon.py | 2 +- 8 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 1fe951722b..eb68780a86 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -1761,7 +1761,7 @@ if __name__ == '__main__': for x in ('lxml', 'calibre.ebooks.BeautifulSoup', 'uuid', 'calibre.utils.terminal', 'calibre.utils.magick', 'PIL', 'Image', - 'sqlite3', 'mechanize', 'httplib', 'xml', 'inspect'): + 'sqlite3', 'mechanize', 'httplib', 'xml', 'inspect', 'urllib'): if x in sys.modules: ret = 1 print (x, 'has been loaded by a plugin') diff --git a/src/calibre/ebooks/conversion/plugins/html_input.py b/src/calibre/ebooks/conversion/plugins/html_input.py index 558b4636b4..676a82cd3e 100644 --- a/src/calibre/ebooks/conversion/plugins/html_input.py +++ b/src/calibre/ebooks/conversion/plugins/html_input.py @@ -10,7 +10,6 @@ __docformat__ = 'restructuredtext en' import re, tempfile, os from functools import partial from itertools import izip -from urllib import quote from calibre.constants import islinux, isbsd from calibre.customize.conversion import (InputFormatPlugin, @@ -223,6 +222,7 @@ class HTMLInput(InputFormatPlugin): return link, frag def resource_adder(self, link_, base=None): + from urllib import quote link, frag = self.link_to_local_path(link_, base=base) if link is None: return link_ diff --git a/src/calibre/ebooks/metadata/__init__.py b/src/calibre/ebooks/metadata/__init__.py index 82f2ee40ea..0e04874e6d 100644 --- a/src/calibre/ebooks/metadata/__init__.py +++ b/src/calibre/ebooks/metadata/__init__.py @@ -7,7 +7,6 @@ __docformat__ = 'restructuredtext en' Provides abstraction for metadata reading.writing from a variety of ebook formats. """ import os, sys, re -from urllib import unquote, quote from urlparse import urlparse from calibre import relpath, guess_type, remove_bracketed_text, prints @@ -188,6 +187,7 @@ class Resource(object): ''' def __init__(self, href_or_path, basedir=os.getcwdu(), is_path=True): + from urllib import unquote self._href = None self._basedir = basedir self.path = None @@ -226,6 +226,7 @@ class Resource(object): `basedir`: If None, the basedir of this resource is used (see :method:`set_basedir`). If this resource has no basedir, then the current working directory is used as the basedir. ''' + from urllib import quote if basedir is None: if self._basedir: basedir = self._basedir diff --git a/src/calibre/ebooks/metadata/sources/amazon.py b/src/calibre/ebooks/metadata/sources/amazon.py index 4509608135..c9df67c999 100644 --- a/src/calibre/ebooks/metadata/sources/amazon.py +++ b/src/calibre/ebooks/metadata/sources/amazon.py @@ -8,7 +8,6 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' import socket, time, re -from urllib import urlencode from threading import Thread from Queue import Queue, Empty @@ -637,6 +636,7 @@ class Amazon(Source): def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ domain=None): + from urllib import urlencode if domain is None: domain = self.domain diff --git a/src/calibre/ebooks/metadata/sources/douban.py b/src/calibre/ebooks/metadata/sources/douban.py index f955fb8a79..f94e9a956d 100644 --- a/src/calibre/ebooks/metadata/sources/douban.py +++ b/src/calibre/ebooks/metadata/sources/douban.py @@ -8,7 +8,6 @@ __copyright__ = '2011, Kovid Goyal ; 2011, Li Fanxi search only books, ebooks and audio books search_url = self.ozon_url + '/webservice/webservice.asmx/SearchWebService?searchContext=div_book&searchText='