comparison mercurial/posix.py @ 30646:16b5df5792a8

py3: replace sys.platform with pycompat.sysplatform (part 1 of 2) sys.platform returns unicode on python 3 world. Our code base has most of the things bytes because of the transformer. So we have a bytes version of this as pycompat.sysplatform. This series of 2 patches replaces occurences of sys.platform with pycompat.sysplatform.
author Pulkit Goyal <7895pulkit@gmail.com>
date Mon, 19 Dec 2016 02:15:24 +0530
parents ad15646dc61c
children e995f00a9e9a
comparison
equal deleted inserted replaced
30645:7a3e67bfa417 30646:16b5df5792a8
301 # what normcase does to ASCII strings 301 # what normcase does to ASCII strings
302 normcasespec = encoding.normcasespecs.lower 302 normcasespec = encoding.normcasespecs.lower
303 # fallback normcase function for non-ASCII strings 303 # fallback normcase function for non-ASCII strings
304 normcasefallback = normcase 304 normcasefallback = normcase
305 305
306 if sys.platform == 'darwin': 306 if pycompat.sysplatform == 'darwin':
307 307
308 def normcase(path): 308 def normcase(path):
309 ''' 309 '''
310 Normalize a filename for OS X-compatible comparison: 310 Normalize a filename for OS X-compatible comparison:
311 - escape-encode invalid characters 311 - escape-encode invalid characters
352 # Decompose then lowercase (HFS+ technote specifies lower) 352 # Decompose then lowercase (HFS+ technote specifies lower)
353 enc = unicodedata.normalize('NFD', u).lower().encode('utf-8') 353 enc = unicodedata.normalize('NFD', u).lower().encode('utf-8')
354 # drop HFS+ ignored characters 354 # drop HFS+ ignored characters
355 return encoding.hfsignoreclean(enc) 355 return encoding.hfsignoreclean(enc)
356 356
357 if sys.platform == 'cygwin': 357 if pycompat.sysplatform == 'cygwin':
358 # workaround for cygwin, in which mount point part of path is 358 # workaround for cygwin, in which mount point part of path is
359 # treated as case sensitive, even though underlying NTFS is case 359 # treated as case sensitive, even though underlying NTFS is case
360 # insensitive. 360 # insensitive.
361 361
362 # default mount points 362 # default mount points
445 def findexe(command): 445 def findexe(command):
446 '''Find executable for command searching like which does. 446 '''Find executable for command searching like which does.
447 If command is a basename then PATH is searched for command. 447 If command is a basename then PATH is searched for command.
448 PATH isn't searched if command is an absolute or relative path. 448 PATH isn't searched if command is an absolute or relative path.
449 If command isn't found None is returned.''' 449 If command isn't found None is returned.'''
450 if sys.platform == 'OpenVMS': 450 if pycompat.sysplatform == 'OpenVMS':
451 return command 451 return command
452 452
453 def findexisting(executable): 453 def findexisting(executable):
454 'Will return executable if existing file' 454 'Will return executable if existing file'
455 if os.path.isfile(executable) and os.access(executable, os.X_OK): 455 if os.path.isfile(executable) and os.access(executable, os.X_OK):
457 return None 457 return None
458 458
459 if pycompat.ossep in command: 459 if pycompat.ossep in command:
460 return findexisting(command) 460 return findexisting(command)
461 461
462 if sys.platform == 'plan9': 462 if pycompat.sysplatform == 'plan9':
463 return findexisting(os.path.join('/bin', command)) 463 return findexisting(os.path.join('/bin', command))
464 464
465 for path in encoding.environ.get('PATH', '').split(pycompat.ospathsep): 465 for path in encoding.environ.get('PATH', '').split(pycompat.ospathsep):
466 executable = findexisting(os.path.join(path, command)) 466 executable = findexisting(os.path.join(path, command))
467 if executable is not None: 467 if executable is not None: