| Index: third_party/logilab/logilab/astroid/brain/pysix_moves.py
|
| diff --git a/third_party/logilab/logilab/astroid/brain/pysix_moves.py b/third_party/logilab/logilab/astroid/brain/pysix_moves.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5648278cf128babc33539b5c2de83e5bfe02a9a5
|
| --- /dev/null
|
| +++ b/third_party/logilab/logilab/astroid/brain/pysix_moves.py
|
| @@ -0,0 +1,225 @@
|
| +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
| +# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
| +#
|
| +# This file is part of astroid.
|
| +#
|
| +# astroid is free software: you can redistribute it and/or modify it under
|
| +# the terms of the GNU Lesser General Public License as published by the Free
|
| +# Software Foundation, either version 2.1 of the License, or (at your option) any
|
| +# later version.
|
| +#
|
| +# astroid 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 Lesser General Public License for more
|
| +# details.
|
| +#
|
| +# You should have received a copy of the GNU Lesser General Public License along
|
| +# with astroid. If not, see <http://www.gnu.org/licenses/>.
|
| +
|
| +"""Astroid hooks for six.moves."""
|
| +
|
| +import sys
|
| +from textwrap import dedent
|
| +
|
| +from astroid import MANAGER, register_module_extender
|
| +from astroid.builder import AstroidBuilder
|
| +
|
| +
|
| +def six_moves_transform_py2():
|
| + return AstroidBuilder(MANAGER).string_build(dedent('''
|
| + import urllib as _urllib
|
| + import urllib2 as _urllib2
|
| + import urlparse as _urlparse
|
| +
|
| + class Moves(object):
|
| + import BaseHTTPServer
|
| + import CGIHTTPServer
|
| + import SimpleHTTPServer
|
| +
|
| + from StringIO import StringIO
|
| + from cStringIO import StringIO as cStringIO
|
| + from UserDict import UserDict
|
| + from UserList import UserList
|
| + from UserString import UserString
|
| +
|
| + import __builtin__ as builtins
|
| + import thread as _thread
|
| + import dummy_thread as _dummy_thread
|
| + import ConfigParser as configparser
|
| + import copy_reg as copyreg
|
| + from itertools import (imap as map,
|
| + ifilter as filter,
|
| + ifilterfalse as filterfalse,
|
| + izip_longest as zip_longest,
|
| + izip as zip)
|
| + import htmlentitydefs as html_entities
|
| + import HTMLParser as html_parser
|
| + import httplib as http_client
|
| + import cookielib as http_cookiejar
|
| + import Cookie as http_cookies
|
| + import Queue as queue
|
| + import repr as reprlib
|
| + from pipes import quote as shlex_quote
|
| + import SocketServer as socketserver
|
| + import SimpleXMLRPCServer as xmlrpc_server
|
| + import xmlrpclib as xmlrpc_client
|
| + import _winreg as winreg
|
| + import robotparser as urllib_robotparser
|
| +
|
| + input = raw_input
|
| + intern = intern
|
| + range = xrange
|
| + xrange = xrange
|
| + reduce = reduce
|
| + reload_module = reload
|
| +
|
| + class UrllibParse(object):
|
| + ParseResult = _urlparse.ParseResult
|
| + SplitResult = _urlparse.SplitResult
|
| + parse_qs = _urlparse.parse_qs
|
| + parse_qsl = _urlparse.parse_qsl
|
| + urldefrag = _urlparse.urldefrag
|
| + urljoin = _urlparse.urljoin
|
| + urlparse = _urlparse.urlparse
|
| + urlsplit = _urlparse.urlsplit
|
| + urlunparse = _urlparse.urlunparse
|
| + urlunsplit = _urlparse.urlunsplit
|
| + quote = _urllib.quote
|
| + quote_plus = _urllib.quote_plus
|
| + unquote = _urllib.unquote
|
| + unquote_plus = _urllib.unquote_plus
|
| + urlencode = _urllib.urlencode
|
| + splitquery = _urllib.splitquery
|
| + splittag = _urllib.splittag
|
| + splituser = _urllib.splituser
|
| + uses_fragment = _urlparse.uses_fragment
|
| + uses_netloc = _urlparse.uses_netloc
|
| + uses_params = _urlparse.uses_params
|
| + uses_query = _urlparse.uses_query
|
| + uses_relative = _urlparse.uses_relative
|
| +
|
| + class UrllibError(object):
|
| + URLError = _urllib2.URLError
|
| + HTTPError = _urllib2.HTTPError
|
| + ContentTooShortError = _urllib.ContentTooShortError
|
| +
|
| + class DummyModule(object):
|
| + pass
|
| +
|
| + class UrllibRequest(object):
|
| + urlopen = _urllib2.urlopen
|
| + install_opener = _urllib2.install_opener
|
| + build_opener = _urllib2.build_opener
|
| + pathname2url = _urllib.pathname2url
|
| + url2pathname = _urllib.url2pathname
|
| + getproxies = _urllib.getproxies
|
| + Request = _urllib2.Request
|
| + OpenerDirector = _urllib2.OpenerDirector
|
| + HTTPDefaultErrorHandler = _urllib2.HTTPDefaultErrorHandler
|
| + HTTPRedirectHandler = _urllib2.HTTPRedirectHandler
|
| + HTTPCookieProcessor = _urllib2.HTTPCookieProcessor
|
| + ProxyHandler = _urllib2.ProxyHandler
|
| + BaseHandler = _urllib2.BaseHandler
|
| + HTTPPasswordMgr = _urllib2.HTTPPasswordMgr
|
| + HTTPPasswordMgrWithDefaultRealm = _urllib2.HTTPPasswordMgrWithDefaultRealm
|
| + AbstractBasicAuthHandler = _urllib2.AbstractBasicAuthHandler
|
| + HTTPBasicAuthHandler = _urllib2.HTTPBasicAuthHandler
|
| + ProxyBasicAuthHandler = _urllib2.ProxyBasicAuthHandler
|
| + AbstractDigestAuthHandler = _urllib2.AbstractDigestAuthHandler
|
| + HTTPDigestAuthHandler = _urllib2.HTTPDigestAuthHandler
|
| + ProxyDigestAuthHandler = _urllib2.ProxyDigestAuthHandler
|
| + HTTPHandler = _urllib2.HTTPHandler
|
| + HTTPSHandler = _urllib2.HTTPSHandler
|
| + FileHandler = _urllib2.FileHandler
|
| + FTPHandler = _urllib2.FTPHandler
|
| + CacheFTPHandler = _urllib2.CacheFTPHandler
|
| + UnknownHandler = _urllib2.UnknownHandler
|
| + HTTPErrorProcessor = _urllib2.HTTPErrorProcessor
|
| + urlretrieve = _urllib.urlretrieve
|
| + urlcleanup = _urllib.urlcleanup
|
| + proxy_bypass = _urllib.proxy_bypass
|
| +
|
| + urllib_parse = UrllibParse()
|
| + urllib_error = UrllibError()
|
| + urllib = DummyModule()
|
| + urllib.request = UrllibRequest()
|
| + urllib.parse = UrllibParse()
|
| + urllib.error = UrllibError()
|
| +
|
| + moves = Moves()
|
| +
|
| + '''))
|
| +
|
| +
|
| +def six_moves_transform_py3():
|
| + return AstroidBuilder(MANAGER).string_build(dedent('''
|
| + class Moves(object):
|
| + import _io
|
| + cStringIO = _io.StringIO
|
| + filter = filter
|
| + from itertools import filterfalse
|
| + input = input
|
| + from sys import intern
|
| + map = map
|
| + range = range
|
| + from imp import reload as reload_module
|
| + from functools import reduce
|
| + from shlex import quote as shlex_quote
|
| + from io import StringIO
|
| + from collections import UserDict, UserList, UserString
|
| + xrange = range
|
| + zip = zip
|
| + from itertools import zip_longest
|
| + import builtins
|
| + import configparser
|
| + import copyreg
|
| + import _dummy_thread
|
| + import http.cookiejar as http_cookiejar
|
| + import http.cookies as http_cookies
|
| + import html.entities as html_entities
|
| + import html.parser as html_parser
|
| + import http.client as http_client
|
| + import http.server
|
| + BaseHTTPServer = CGIHTTPServer = SimpleHTTPServer = http.server
|
| + import pickle as cPickle
|
| + import queue
|
| + import reprlib
|
| + import socketserver
|
| + import _thread
|
| + import winreg
|
| + import xmlrpc.server as xmlrpc_server
|
| + import xmlrpc.client as xmlrpc_client
|
| + import urllib.robotparser as urllib_robotparser
|
| + import email.mime.multipart as email_mime_multipart
|
| + import email.mime.nonmultipart as email_mime_nonmultipart
|
| + import email.mime.text as email_mime_text
|
| + import email.mime.base as email_mime_base
|
| + import urllib.parse as urllib_parse
|
| + import urllib.error as urllib_error
|
| + import tkinter
|
| + import tkinter.dialog as tkinter_dialog
|
| + import tkinter.filedialog as tkinter_filedialog
|
| + import tkinter.scrolledtext as tkinter_scrolledtext
|
| + import tkinter.simpledialog as tkinder_simpledialog
|
| + import tkinter.tix as tkinter_tix
|
| + import tkinter.ttk as tkinter_ttk
|
| + import tkinter.constants as tkinter_constants
|
| + import tkinter.dnd as tkinter_dnd
|
| + import tkinter.colorchooser as tkinter_colorchooser
|
| + import tkinter.commondialog as tkinter_commondialog
|
| + import tkinter.filedialog as tkinter_tkfiledialog
|
| + import tkinter.font as tkinter_font
|
| + import tkinter.messagebox as tkinter_messagebox
|
| + import urllib.request
|
| + import urllib.robotparser as urllib_robotparser
|
| + import urllib.parse as urllib_parse
|
| + import urllib.error as urllib_error
|
| + moves = Moves()
|
| + '''))
|
| +
|
| +if sys.version_info[0] == 2:
|
| + TRANSFORM = six_moves_transform_py2
|
| +else:
|
| + TRANSFORM = six_moves_transform_py3
|
| +
|
| +register_module_extender(MANAGER, 'six', TRANSFORM)
|
|
|