Merged revisions 71280 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71280 | tarek.ziade | 2009-04-05 23:44:08 +0200 (Sun, 05 Apr 2009) | 1 line

  Fixed #1491431: distutils.filelist.glob_to_re was broken for some edge cases (detailed in the test
........
This commit is contained in:
Tarek Ziadé 2009-04-05 21:47:02 +00:00
parent a65e33089c
commit 0daf2f38cb
3 changed files with 29 additions and 2 deletions

View file

@ -304,7 +304,7 @@ def findall (dir = os.curdir):
return list
def glob_to_re (pattern):
def glob_to_re(pattern):
"""Translate a shell-like glob pattern to a regular expression; return
a string containing the regex. Differs from 'fnmatch.translate()' in
that '*' does not match "special characters" (which are
@ -319,7 +319,8 @@ def glob_to_re (pattern):
# character except the special characters.
# XXX currently the "special characters" are just slash -- i.e. this is
# Unix-only.
pattern_re = re.sub(r'(^|[^\\])\.', r'\1[^/]', pattern_re)
pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.', r'\1[^/]', pattern_re)
return pattern_re
# glob_to_re ()