summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/fixes/fix_imports.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-06-15 02:57:40 (GMT)
committerBenjamin Peterson <benjamin@python.org>2008-06-15 02:57:40 (GMT)
commitdf6dc8f10770f92db68c69d87abe7c89774d128c (patch)
tree3665b0314420c8ae6e7c8931ef89757f44b1ca35 /Lib/lib2to3/fixes/fix_imports.py
parent979f31172890fcfa45e5e23c461b1517a49dbf3b (diff)
downloadcpython-df6dc8f10770f92db68c69d87abe7c89774d128c.zip
cpython-df6dc8f10770f92db68c69d87abe7c89774d128c.tar.gz
cpython-df6dc8f10770f92db68c69d87abe7c89774d128c.tar.bz2
Merged revisions 64286 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ................ r64286 | benjamin.peterson | 2008-06-14 21:31:05 -0500 (Sat, 14 Jun 2008) | 49 lines Merged revisions 63661,63666,63695,63711,63729,63769,63790,63880,63886 via svnmerge from svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r63661 | georg.brandl | 2008-05-26 05:26:20 -0500 (Mon, 26 May 2008) | 2 lines Add import fixes for dbm package. ........ r63666 | georg.brandl | 2008-05-26 05:49:09 -0500 (Mon, 26 May 2008) | 2 lines Add xmlrpc package fixes. ........ r63695 | georg.brandl | 2008-05-26 10:14:33 -0500 (Mon, 26 May 2008) | 2 lines Add fixer entries for http package. ........ r63711 | benjamin.peterson | 2008-05-26 13:43:51 -0500 (Mon, 26 May 2008) | 2 lines add import mapping for test.test_support -> test.support ........ r63729 | benjamin.peterson | 2008-05-26 16:31:03 -0500 (Mon, 26 May 2008) | 2 lines mapping for commands module -> subprocess ........ r63769 | brett.cannon | 2008-05-29 00:13:13 -0500 (Thu, 29 May 2008) | 1 line Fixer for UserString.UserString over to the collections module. ........ r63790 | brett.cannon | 2008-05-29 14:13:51 -0500 (Thu, 29 May 2008) | 4 lines Add a fixer for UserList. Closes issue #2878. Thanks to Quentin Gallet-Gilles for the patch. ........ r63880 | collin.winter | 2008-06-01 18:09:38 -0500 (Sun, 01 Jun 2008) | 6 lines Move lib2to3/fixes/{basefix,util}.py down to lib2to3/. This is step 1 of turning lib2to3/ into a general-purpose refactoring library, reusable by other projects. ........ r63886 | collin.winter | 2008-06-01 22:15:01 -0500 (Sun, 01 Jun 2008) | 5 lines Allow refactoring tools to specify a directory for fixer modules. This is step 2 of turning lib2to3/ into a general-purpose refactoring library, reusable by other projects. Step 1: r63880. ........ ................
Diffstat (limited to 'Lib/lib2to3/fixes/fix_imports.py')
-rw-r--r--Lib/lib2to3/fixes/fix_imports.py123
1 files changed, 120 insertions, 3 deletions
diff --git a/Lib/lib2to3/fixes/fix_imports.py b/Lib/lib2to3/fixes/fix_imports.py
index 11512e1..03a27bc 100644
--- a/Lib/lib2to3/fixes/fix_imports.py
+++ b/Lib/lib2to3/fixes/fix_imports.py
@@ -8,8 +8,8 @@ Fixes:
# Author: Collin Winter
# Local imports
-from . import basefix
-from .util import Name, attr_chain, any, set
+from .. import fixer_base
+from ..fixer_util import Name, attr_chain, any, set
import builtins
builtin_names = [name for name in dir(builtins)
if name not in ("__name__", "__doc__")]
@@ -150,6 +150,123 @@ MAPPING = {"StringIO": ("io", ["StringIO"]),
'error', 'exit', 'exit_thread', 'get_ident',
'interrupt_main', 'stack_size', 'start_new',
'start_new_thread']),
+ 'whichdb': ('dbm', ['whichdb']),
+ 'anydbm': ('dbm', ['error', 'open']),
+ 'dbhash': ('dbm.bsd', ['error', 'open']),
+ 'dumbdbm': ('dbm.dumb', ['error', 'open', '_Database']),
+ 'dbm': ('dbm.ndbm', ['error', 'open', 'library']),
+ 'gdbm': ('dbm.gnu', ['error', 'open', 'open_flags']),
+ 'xmlrpclib': ('xmlrpc.client',
+ ['Error', 'ProtocolError', 'ResponseError', 'Fault',
+ 'ServerProxy', 'Boolean', 'DateTime', 'Binary',
+ 'ExpatParser', 'FastMarshaller', 'FastParser',
+ 'FastUnmarshaller', 'MultiCall', 'MultiCallIterator',
+ 'SlowParser', 'Marshaller', 'Unmarshaller', 'Server',
+ 'Transport', 'SafeTransport', 'SgmlopParser',
+ 'boolean', 'getparser', 'dumps', 'loads', 'escape',
+ 'PARSE_ERROR', 'SERVER_ERROR', 'WRAPPERS',
+ 'APPLICATION_ERROR', 'SYSTEM_ERROR',
+ 'TRANSPORT_ERROR', 'NOT_WELLFORMED_ERROR',
+ 'UNSUPPORTED_ENCODING', 'INVALID_ENCODING_CHAR',
+ 'INVALID_XMLRPC', 'METHOD_NOT_FOUND',
+ 'INVALID_METHOD_PARAMS', 'INTERNAL_ERROR',
+ 'MININT', 'MAXINT']),
+ 'DocXMLRPCServer': ('xmlrpc.server',
+ ['CGIXMLRPCRequestHandler',
+ 'DocCGIXMLRPCRequestHandler',
+ 'DocXMLRPCRequestHandler', 'DocXMLRPCServer',
+ 'ServerHTMLDoc', 'SimpleXMLRPCRequestHandler',
+ 'SimpleXMLRPCServer', 'XMLRPCDocGenerator',
+ 'resolve_dotted_attribute']),
+ 'SimpleXMLRPCServer': ('xmlrpc.server',
+ ['CGIXMLRPCRequestHandler',
+ 'Fault', 'SimpleXMLRPCDispatcher',
+ 'SimpleXMLRPCRequestHandler',
+ 'SimpleXMLRPCServer', 'SocketServer',
+ 'list_public_methods',
+ 'remove_duplicates',
+ 'resolve_dotted_attribute']),
+ 'httplib': ('http.client',
+ ['ACCEPTED', 'BAD_GATEWAY', 'BAD_REQUEST',
+ 'BadStatusLine', 'CONFLICT', 'CONTINUE', 'CREATED',
+ 'CannotSendHeader', 'CannotSendRequest',
+ 'EXPECTATION_FAILED', 'FAILED_DEPENDENCY', 'FORBIDDEN',
+ 'FOUND', 'FakeSocket', 'GATEWAY_TIMEOUT', 'GONE',
+ 'HTTP', 'HTTPConnection', 'HTTPException',
+ 'HTTPMessage', 'HTTPResponse', 'HTTPS',
+ 'HTTPSConnection', 'HTTPS_PORT', 'HTTP_PORT',
+ 'HTTP_VERSION_NOT_SUPPORTED', 'IM_USED',
+ 'INSUFFICIENT_STORAGE', 'INTERNAL_SERVER_ERROR',
+ 'ImproperConnectionState', 'IncompleteRead',
+ 'InvalidURL', 'LENGTH_REQUIRED', 'LOCKED',
+ 'LineAndFileWrapper', 'MAXAMOUNT', 'METHOD_NOT_ALLOWED',
+ 'MOVED_PERMANENTLY', 'MULTIPLE_CHOICES', 'MULTI_STATUS',
+ 'NON_AUTHORITATIVE_INFORMATION', 'NOT_ACCEPTABLE',
+ 'NOT_EXTENDED', 'NOT_FOUND', 'NOT_IMPLEMENTED',
+ 'NOT_MODIFIED', 'NO_CONTENT', 'NotConnected', 'OK',
+ 'PARTIAL_CONTENT', 'PAYMENT_REQUIRED',
+ 'PRECONDITION_FAILED', 'PROCESSING',
+ 'PROXY_AUTHENTICATION_REQUIRED',
+ 'REQUESTED_RANGE_NOT_SATISFIABLE',
+ 'REQUEST_ENTITY_TOO_LARGE', 'REQUEST_TIMEOUT',
+ 'REQUEST_URI_TOO_LONG', 'RESET_CONTENT',
+ 'ResponseNotReady', 'SEE_OTHER', 'SERVICE_UNAVAILABLE',
+ 'SSLFile', 'SWITCHING_PROTOCOLS', 'SharedSocket',
+ 'SharedSocketClient', 'StringIO', 'TEMPORARY_REDIRECT',
+ 'UNAUTHORIZED', 'UNPROCESSABLE_ENTITY',
+ 'UNSUPPORTED_MEDIA_TYPE', 'UPGRADE_REQUIRED',
+ 'USE_PROXY', 'UnimplementedFileMode', 'UnknownProtocol',
+ 'UnknownTransferEncoding', 'error', 'responses']),
+ 'Cookie': ('http.cookies',
+ ['BaseCookie', 'Cookie', 'CookieError', 'Morsel',
+ 'SerialCookie', 'SimpleCookie', 'SmartCookie']),
+ 'cookielib': ('http.cookiejar',
+ ['Absent', 'Cookie', 'CookieJar', 'CookiePolicy',
+ 'DAYS', 'DEFAULT_HTTP_PORT', 'DefaultCookiePolicy',
+ 'EPOCH_YEAR', 'ESCAPED_CHAR_RE', 'FileCookieJar',
+ 'HEADER_ESCAPE_RE', 'HEADER_JOIN_ESCAPE_RE',
+ 'HEADER_QUOTED_VALUE_RE', 'HEADER_TOKEN_RE',
+ 'HEADER_VALUE_RE', 'HTTP_PATH_SAFE', 'IPV4_RE',
+ 'ISO_DATE_RE', 'LOOSE_HTTP_DATE_RE', 'LWPCookieJar',
+ 'LoadError', 'MISSING_FILENAME_TEXT', 'MONTHS',
+ 'MONTHS_LOWER', 'MozillaCookieJar', 'STRICT_DATE_RE',
+ 'TIMEZONE_RE', 'UTC_ZONES', 'WEEKDAY_RE',
+ 'cut_port_re', 'deepvalues', 'domain_match',
+ 'eff_request_host', 'escape_path', 'http2time',
+ 'is_HDN', 'is_third_party', 'iso2time',
+ 'join_header_words', 'liberal_is_HDN', 'logger',
+ 'lwp_cookie_str', 'month', 'offset_from_tz_string',
+ 'parse_ns_headers', 'reach', 'request_host',
+ 'request_path', 'request_port', 'split_header_words',
+ 'time', 'time2isoz', 'time2netscape', 'unmatched',
+ 'uppercase_escaped_char', 'urllib',
+ 'user_domain_match', 'vals_sorted_by_key']),
+ 'BaseHTTPServer': ('http.server',
+ ['BaseHTTPRequestHandler',
+ 'DEFAULT_ERROR_MESSAGE', 'HTTPServer']),
+ 'SimpleHTTPServer': ('http.server', ['SimpleHTTPRequestHandler']),
+ 'CGIHTTPServer': ('http.server',
+ ['CGIHTTPRequestHandler', 'executable',
+ 'nobody_uid', 'nobody']),
+ 'test.test_support': ('test.support',
+ ["Error", "TestFailed", "TestSkipped", "ResourceDenied",
+ "import_module", "verbose", "use_resources",
+ "max_memuse", "record_original_stdout",
+ "get_original_stdout", "unload", "unlink", "rmtree",
+ "forget", "is_resource_enabled", "requires",
+ "find_unused_port", "bind_port",
+ "fcmp", "is_jython", "TESTFN", "HOST",
+ "FUZZ", "findfile", "verify", "vereq", "sortdict",
+ "check_syntax_error", "open_urlresource", "WarningMessage",
+ "catch_warning", "CleanImport", "EnvironmentVarGuard",
+ "TransientResource", "captured_output", "captured_stdout",
+ "TransientResource", "transient_internet", "run_with_locale",
+ "set_memlimit", "bigmemtest", "bigaddrspacetest",
+ "BasicTestRunner", "run_unittest", "run_doctest",
+ "threading_setup", "threading_cleanup", "reap_children"]),
+ 'commands': ('subprocess', ['getstatusoutput', 'getoutput']),
+ 'UserString' : ('collections', ['UserString']),
+ 'UserList' : ('collections', ['UserList']),
}
@@ -180,7 +297,7 @@ def build_pattern():
yield """bare_name=%s""" % alternates(bare)
-class FixImports(basefix.BaseFix):
+class FixImports(fixer_base.BaseFix):
PATTERN = "|".join(build_pattern())
order = "pre" # Pre-order tree traversal