mercurial/pycompat.py
changeset 31372 06440ba06bc0
parent 31359 73b3bee8febe
child 31382 c9fd842dc886
equal deleted inserted replaced
31371:7dd2f51f38ac 31372:06440ba06bc0
    17 
    17 
    18 ispy3 = (sys.version_info[0] >= 3)
    18 ispy3 = (sys.version_info[0] >= 3)
    19 
    19 
    20 if not ispy3:
    20 if not ispy3:
    21     import cPickle as pickle
    21     import cPickle as pickle
    22     import cStringIO as io
       
    23     import httplib
    22     import httplib
    24     import Queue as _queue
    23     import Queue as _queue
    25     import SocketServer as socketserver
    24     import SocketServer as socketserver
    26     import urlparse
    25     import urlparse
    27     urlunquote = urlparse.unquote
    26     urlunquote = urlparse.unquote
    28     import xmlrpclib
    27     import xmlrpclib
    29 else:
    28 else:
    30     import http.client as httplib
    29     import http.client as httplib
    31     import io
       
    32     import pickle
    30     import pickle
    33     import queue as _queue
    31     import queue as _queue
    34     import socketserver
    32     import socketserver
    35     import urllib.parse as urlparse
    33     import urllib.parse as urlparse
    36     urlunquote = urlparse.unquote_to_bytes
    34     urlunquote = urlparse.unquote_to_bytes
    37     import xmlrpc.client as xmlrpclib
    35     import xmlrpc.client as xmlrpclib
    38 
    36 
    39 if ispy3:
    37 if ispy3:
    40     import builtins
    38     import builtins
    41     import functools
    39     import functools
       
    40     import io
       
    41 
    42     fsencode = os.fsencode
    42     fsencode = os.fsencode
    43     fsdecode = os.fsdecode
    43     fsdecode = os.fsdecode
    44     # A bytes version of os.name.
    44     # A bytes version of os.name.
    45     osname = os.name.encode('ascii')
    45     osname = os.name.encode('ascii')
    46     ospathsep = os.pathsep.encode('ascii')
    46     ospathsep = os.pathsep.encode('ascii')
   137     def shlexsplit(s):
   137     def shlexsplit(s):
   138         ret = shlex.split(s.decode('latin-1'))
   138         ret = shlex.split(s.decode('latin-1'))
   139         return [a.encode('latin-1') for a in ret]
   139         return [a.encode('latin-1') for a in ret]
   140 
   140 
   141 else:
   141 else:
       
   142     import cStringIO
       
   143 
   142     bytechr = chr
   144     bytechr = chr
   143 
   145 
   144     def sysstr(s):
   146     def sysstr(s):
   145         return s
   147         return s
   146 
   148 
   179         sysargv = sys.argv
   181         sysargv = sys.argv
   180     sysplatform = sys.platform
   182     sysplatform = sys.platform
   181     getcwd = os.getcwd
   183     getcwd = os.getcwd
   182     sysexecutable = sys.executable
   184     sysexecutable = sys.executable
   183     shlexsplit = shlex.split
   185     shlexsplit = shlex.split
   184     stringio = io.StringIO
   186     stringio = cStringIO.StringIO
   185 
   187 
   186 empty = _queue.Empty
   188 empty = _queue.Empty
   187 queue = _queue.Queue
   189 queue = _queue.Queue
   188 
   190 
   189 class _pycompatstub(object):
   191 class _pycompatstub(object):