diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-01-14 23:36:06 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-01-14 23:36:06 (GMT) |
commit | 88869f9787cd4ceb2298e4b13980beb057687824 (patch) | |
tree | 653976731f926b5e098bf57b4858a9516af220b5 /Lib/fnmatch.py | |
parent | 752d3f557e95cda98a8b50808cfe2f2d0b8767eb (diff) | |
download | cpython-88869f9787cd4ceb2298e4b13980beb057687824.zip cpython-88869f9787cd4ceb2298e4b13980beb057687824.tar.gz cpython-88869f9787cd4ceb2298e4b13980beb057687824.tar.bz2 |
Whitespace normalization.
Diffstat (limited to 'Lib/fnmatch.py')
-rw-r--r-- | Lib/fnmatch.py | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/Lib/fnmatch.py b/Lib/fnmatch.py index 75d2d6e..a4508bb 100644 --- a/Lib/fnmatch.py +++ b/Lib/fnmatch.py @@ -15,75 +15,75 @@ import re _cache = {} def fnmatch(name, pat): - """Test whether FILENAME matches PATTERN. - - Patterns are Unix shell style: - - * matches everything - ? matches any single character - [seq] matches any character in seq - [!seq] matches any char not in seq - - An initial period in FILENAME is not special. - Both FILENAME and PATTERN are first case-normalized - if the operating system requires it. - If you don't want this, use fnmatchcase(FILENAME, PATTERN). - """ - - import os - name = os.path.normcase(name) - pat = os.path.normcase(pat) - return fnmatchcase(name, pat) + """Test whether FILENAME matches PATTERN. + + Patterns are Unix shell style: + + * matches everything + ? matches any single character + [seq] matches any character in seq + [!seq] matches any char not in seq + + An initial period in FILENAME is not special. + Both FILENAME and PATTERN are first case-normalized + if the operating system requires it. + If you don't want this, use fnmatchcase(FILENAME, PATTERN). + """ + + import os + name = os.path.normcase(name) + pat = os.path.normcase(pat) + return fnmatchcase(name, pat) def fnmatchcase(name, pat): - """Test whether FILENAME matches PATTERN, including case. - - This is a version of fnmatch() which doesn't case-normalize - its arguments. - """ - - if not _cache.has_key(pat): - res = translate(pat) - _cache[pat] = re.compile(res) - return _cache[pat].match(name) is not None + """Test whether FILENAME matches PATTERN, including case. + + This is a version of fnmatch() which doesn't case-normalize + its arguments. + """ + + if not _cache.has_key(pat): + res = translate(pat) + _cache[pat] = re.compile(res) + return _cache[pat].match(name) is not None def translate(pat): - """Translate a shell PATTERN to a regular expression. - - There is no way to quote meta-characters. - """ - - i, n = 0, len(pat) - res = '' - while i < n: - c = pat[i] - i = i+1 - if c == '*': - res = res + '.*' - elif c == '?': - res = res + '.' - elif c == '[': - j = i - if j < n and pat[j] == '!': - j = j+1 - if j < n and pat[j] == ']': - j = j+1 - while j < n and pat[j] != ']': - j = j+1 - if j >= n: - res = res + '\\[' - else: - stuff = pat[i:j] - i = j+1 - if stuff[0] == '!': - stuff = '[^' + stuff[1:] + ']' - elif stuff == '^'*len(stuff): - stuff = '\\^' - else: - while stuff[0] == '^': - stuff = stuff[1:] + stuff[0] - stuff = '[' + stuff + ']' - res = res + stuff - else: - res = res + re.escape(c) - return res + "$" + """Translate a shell PATTERN to a regular expression. + + There is no way to quote meta-characters. + """ + + i, n = 0, len(pat) + res = '' + while i < n: + c = pat[i] + i = i+1 + if c == '*': + res = res + '.*' + elif c == '?': + res = res + '.' + elif c == '[': + j = i + if j < n and pat[j] == '!': + j = j+1 + if j < n and pat[j] == ']': + j = j+1 + while j < n and pat[j] != ']': + j = j+1 + if j >= n: + res = res + '\\[' + else: + stuff = pat[i:j] + i = j+1 + if stuff[0] == '!': + stuff = '[^' + stuff[1:] + ']' + elif stuff == '^'*len(stuff): + stuff = '\\^' + else: + while stuff[0] == '^': + stuff = stuff[1:] + stuff[0] + stuff = '[' + stuff + ']' + res = res + stuff + else: + res = res + re.escape(c) + return res + "$" |