liu chang added the comment:
hi pitrou, should we fix it in _make_selector(pattern_parts) function?
origin code as:
def _make_selector(pattern_parts):
pat = pattern_parts[0]
child_parts = pattern_parts[1:]
if pat == '**':
cls = _RecursiveWildcardSelector
elif '**' in pat:
raise ValueError("Invalid pattern: '**' can only be an entire path
component")
elif _is_wildcard_pattern(pat):
cls = _WildcardSelector
else:
cls = _PreciseSelector
return cls(pat, child_parts)
Is it a good fix that: check the length of pattern_parts, if its length < 2, we
set pat to empty str, set child_parts to a empty list。
A simple code like:
def _make_selector(pattern_parts):
try:
pat = pattern_parts[0]
child_parts = pattern_parts[1:]
except IndexError:
pat = ""
child_parts = []
if pat == '**':
cls = _RecursiveWildcardSelector
elif '**' in pat:
raise ValueError("Invalid pattern: '**' can only be an entire path
component")
elif _is_wildcard_pattern(pat):
cls = _WildcardSelector
else:
cls = _PreciseSelector
return cls(pat, child_parts)
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue23076>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com