py3: replace os.sep with pycompat.ossep (part 1 of 4)
authorPulkit Goyal <7895pulkit@gmail.com>
Sat, 17 Dec 2016 19:56:30 +0530
changeset 30618 1112ff99d965
parent 30617 d623cc6b3742
child 30619 cfe66dcf45c0
py3: replace os.sep with pycompat.ossep (part 1 of 4) os.sep returns unicodes on Python 3. We have pycompat.ossep which returns bytes. This patch is a part of 4 patch series which will replace all the occurrences of os.sep to pycompat.ossep
mercurial/commands.py
mercurial/util.py
--- a/mercurial/commands.py	Sat Dec 17 19:47:17 2016 +0530
+++ b/mercurial/commands.py	Sat Dec 17 19:56:30 2016 +0530
@@ -2356,7 +2356,7 @@
     def complete(path, acceptable):
         dirstate = repo.dirstate
         spec = os.path.normpath(os.path.join(pycompat.getcwd(), path))
-        rootdir = repo.root + os.sep
+        rootdir = repo.root + pycompat.ossep
         if spec != repo.root and not spec.startswith(rootdir):
             return [], []
         if os.path.isdir(spec):
@@ -2364,7 +2364,7 @@
         spec = spec[len(rootdir):]
         fixpaths = pycompat.ossep != '/'
         if fixpaths:
-            spec = spec.replace(os.sep, '/')
+            spec = spec.replace(pycompat.ossep, '/')
         speclen = len(spec)
         fullpaths = opts['full']
         files, dirs = set(), set()
@@ -2372,11 +2372,11 @@
         for f, st in dirstate.iteritems():
             if f.startswith(spec) and st[0] in acceptable:
                 if fixpaths:
-                    f = f.replace('/', os.sep)
+                    f = f.replace('/', pycompat.ossep)
                 if fullpaths:
                     addfile(f)
                     continue
-                s = f.find(os.sep, speclen)
+                s = f.find(pycompat.ossep, speclen)
                 if s >= 0:
                     adddir(f[:s])
                 else:
--- a/mercurial/util.py	Sat Dec 17 19:47:17 2016 +0530
+++ b/mercurial/util.py	Sat Dec 17 19:56:30 2016 +0530
@@ -916,7 +916,7 @@
         a.pop()
         b.pop()
     b.reverse()
-    return os.sep.join((['..'] * len(a)) + b) or '.'
+    return pycompat.ossep.join((['..'] * len(a)) + b) or '.'
 
 def mainfrozen():
     """return True if we are a frozen executable.
@@ -1303,7 +1303,7 @@
     def _makefspathcacheentry(dir):
         return dict((normcase(n), n) for n in os.listdir(dir))
 
-    seps = os.sep
+    seps = pycompat.ossep
     if os.altsep:
         seps = seps + os.altsep
     # Protect backslashes. This gets silly very quickly.
@@ -1370,7 +1370,8 @@
 
 def endswithsep(path):
     '''Check path ends with os.sep or os.altsep.'''
-    return path.endswith(os.sep) or os.altsep and path.endswith(os.altsep)
+    return (path.endswith(pycompat.ossep)
+            or os.altsep and path.endswith(os.altsep))
 
 def splitpath(path):
     '''Split path by os.sep.
@@ -1378,7 +1379,7 @@
     an alternative of simple "xxx.split(os.sep)".
     It is recommended to use os.path.normpath() before using this
     function if need.'''
-    return path.split(os.sep)
+    return path.split(pycompat.ossep)
 
 def gui():
     '''Are we running in a GUI?'''