mirror of
https://github.com/servo/servo.git
synced 2025-10-05 02:59:19 +01:00
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180. - Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
32 lines
784 B
Python
32 lines
784 B
Python
from __future__ import absolute_import
|
|
|
|
import fnmatch as _stdlib_fnmatch
|
|
import os
|
|
|
|
|
|
__all__ = ["fnmatch", "fnmatchcase", "filter", "translate"]
|
|
|
|
|
|
def fnmatch(name, pat):
|
|
name = os.path.normcase(name)
|
|
pat = os.path.normcase(pat)
|
|
return fnmatchcase(name, pat)
|
|
|
|
|
|
def fnmatchcase(name, pat):
|
|
if '?' not in pat and '[' not in pat:
|
|
wildcards = pat.count("*")
|
|
if wildcards == 0:
|
|
return name == pat
|
|
elif wildcards == 1 and pat[0] == "*":
|
|
return name.endswith(pat[1:])
|
|
elif wildcards == 1 and pat[-1] == "*":
|
|
return name.startswith(pat[:-1])
|
|
return _stdlib_fnmatch.fnmatchcase(name, pat)
|
|
|
|
|
|
def filter(names, pat):
|
|
return [n for n in names if fnmatch(n, pat)]
|
|
|
|
|
|
translate = _stdlib_fnmatch.translate
|