From e26568f81244e3fb62ab07fd0a3405a99ee87895 Mon Sep 17 00:00:00 2001 From: Hynek Schlawack Date: Thu, 27 Dec 2012 10:10:11 +0100 Subject: #16618: Make glob.glob match consistently across strings and bytes Fixes handling of leading dots. Patch by Serhiy Storchaka. --- Lib/glob.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Lib/glob.py') diff --git a/Lib/glob.py b/Lib/glob.py index 58888d64b5..f16e8e16e4 100644 --- a/Lib/glob.py +++ b/Lib/glob.py @@ -58,8 +58,8 @@ def glob1(dirname, pattern): names = os.listdir(dirname) except os.error: return [] - if pattern[0] != '.': - names = [x for x in names if x[0] != '.'] + if not _ishidden(pattern): + names = [x for x in names if not _ishidden(x)] return fnmatch.filter(names, pattern) def glob0(dirname, basename): @@ -83,3 +83,6 @@ def has_magic(s): else: match = magic_check.search(s) return match is not None + +def _ishidden(path): + return path[0] in ('.', b'.'[0]) -- cgit v1.2.1