diff options
author | Brett Cannon <bcannon@gmail.com> | 2010-07-23 16:22:25 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2010-07-23 16:22:25 (GMT) |
commit | cc14320159d1c9cb1f2a0644eeb6b5c7a71c200d (patch) | |
tree | 27bce4bc4ac6414988706b30c7e04dbd1846ee31 /Lib/fnmatch.py | |
parent | 8cb3619f86881b3af1dde571d5a475f8f40f8fdf (diff) | |
download | cpython-cc14320159d1c9cb1f2a0644eeb6b5c7a71c200d.zip cpython-cc14320159d1c9cb1f2a0644eeb6b5c7a71c200d.tar.gz cpython-cc14320159d1c9cb1f2a0644eeb6b5c7a71c200d.tar.bz2 |
Make fnmatch be more PEP 8 compliant.
Partially closes issue 9356. Thanks to Brian Brazil for the patch.
Diffstat (limited to 'Lib/fnmatch.py')
-rw-r--r-- | Lib/fnmatch.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Lib/fnmatch.py b/Lib/fnmatch.py index aa682bb..7c20e74 100644 --- a/Lib/fnmatch.py +++ b/Lib/fnmatch.py @@ -9,20 +9,23 @@ expression. They cache the compiled regular expressions for speed. The function translate(PATTERN) returns a regular expression corresponding to PATTERN. (It does not compile it.) """ - +import os +import posixpath import re __all__ = ["filter", "fnmatch", "fnmatchcase", "purge", "translate"] _cache = {} # Maps text patterns to compiled regexen. _cacheb = {} # Ditto for bytes patterns. -_MAXCACHE = 100 # Maximum size of caches +_MAXCACHE = 100 # Maximum size of caches. + def purge(): - """Clear the pattern cache""" + """Clear the pattern cache.""" _cache.clear() _cacheb.clear() + def fnmatch(name, pat): """Test whether FILENAME matches PATTERN. @@ -38,12 +41,11 @@ def fnmatch(name, pat): 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 _compile_pattern(pat): cache = _cacheb if isinstance(pat, bytes) else _cache regex = cache.get(pat) @@ -59,9 +61,9 @@ def _compile_pattern(pat): cache[pat] = regex = re.compile(res) return regex.match + def filter(names, pat): - """Return the subset of the list NAMES that match PAT""" - import os,posixpath + """Return the subset of the list NAMES that match PAT.""" result = [] pat = os.path.normcase(pat) match = _compile_pattern(pat) @@ -76,16 +78,17 @@ def filter(names, pat): result.append(name) return result + def fnmatchcase(name, pat): """Test whether FILENAME matches PATTERN, including case. This is a version of fnmatch() which doesn't case-normalize its arguments. """ - match = _compile_pattern(pat) return match(name) is not None + def translate(pat): """Translate a shell PATTERN to a regular expression. |