From c2587c76f1b416cdbecb979e54941933246bf856 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Tue, 16 Feb 2021 20:14:16 -0600 Subject: starting over --- lib/macpath.py | 110 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) (limited to 'lib/macpath.py') diff --git a/lib/macpath.py b/lib/macpath.py index 99ba6b8..99254ab 100644 --- a/lib/macpath.py +++ b/lib/macpath.py @@ -12,7 +12,7 @@ from stat import * # volume name). def isabs(s): - return ':' in s and s[0] <> ':' + return ':' in s and s[0] <> ':' # Concatenate two pathnames. @@ -20,13 +20,13 @@ def isabs(s): # if the first pathname were the current directory. def cat(s, t): - if (not s) or isabs(t): return t - if t[:1] = ':': t = t[1:] - if ':' not in s: - s = ':' + s - if s[-1:] <> ':': - s = s + ':' - return s + t + if (not s) or isabs(t): return t + if t[:1] = ':': t = t[1:] + if ':' not in s: + s = ':' + s + if s[-1:] <> ':': + s = s + ':' + return s + t # Split a pathname in two parts: the directory leading up to the final bit, @@ -34,11 +34,11 @@ def cat(s, t): # The result (s, t) is such that cat(s, t) yields the original argument. def split(s): - if ':' not in s: return '', s - colon = 0 - for i in range(len(s)): - if s[i] = ':': colon = i+1 - return s[:colon], s[colon:] + if ':' not in s: return '', s + colon = 0 + for i in range(len(s)): + if s[i] = ':': colon = i+1 + return s[:colon], s[colon:] # Normalize a pathname: get rid of '::' sequences by backing up, @@ -49,60 +49,60 @@ def split(s): norm_error = 'macpath.norm_error: path cannot be normalized' def norm(s): - import string - if ':' not in s: - return ':' + s - f = string.splitfields(s, ':') - pre = [] - post = [] - if not f[0]: - pre = f[:1] - f = f[1:] - if not f[len(f)-1]: - post = f[-1:] - f = f[:-1] - res = [] - for seg in f: - if seg: - res.append(seg) - else: - if not res: raise norm_error, 'path starts with ::' - del res[len(res)-1] - if not (pre or res): - raise norm_error, 'path starts with volume::' - if pre: res = pre + res - if post: res = res + post - s = res[0] - for seg in res[1:]: - s = s + ':' + seg - return s + import string + if ':' not in s: + return ':' + s + f = string.splitfields(s, ':') + pre = [] + post = [] + if not f[0]: + pre = f[:1] + f = f[1:] + if not f[len(f)-1]: + post = f[-1:] + f = f[:-1] + res = [] + for seg in f: + if seg: + res.append(seg) + else: + if not res: raise norm_error, 'path starts with ::' + del res[len(res)-1] + if not (pre or res): + raise norm_error, 'path starts with volume::' + if pre: res = pre + res + if post: res = res + post + s = res[0] + for seg in res[1:]: + s = s + ':' + seg + return s # Return true if the pathname refers to an existing directory. def isdir(s): - try: - st = mac.stat(s) - except mac.error: - return 0 - return S_ISDIR(st[ST_MODE]) + try: + st = mac.stat(s) + except mac.error: + return 0 + return S_ISDIR(st[ST_MODE]) # Return true if the pathname refers to an existing regular file. def isfile(s): - try: - st = mac.stat(s) - except mac.error: - return 0 - return S_ISREG(st[ST_MODE]) + try: + st = mac.stat(s) + except mac.error: + return 0 + return S_ISREG(st[ST_MODE]) # Return true if the pathname refers to an existing file or directory. def exists(s): - try: - st = mac.stat(s) - except mac.error: - return 0 - return 1 + try: + st = mac.stat(s) + except mac.error: + return 0 + return 1 -- cgit v1.2.3