From ae551558b72bd77f27f0e2cf7d40e9c885a0a9b9 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 10 Aug 2009 07:12:28 +0000 Subject: [PATCH] Bug #280962 - Fix broken path normalization inside StaticFileSet.multiBuilder(). svn path=/main/trunk/; revision=13974 --- pym/portage/sets/files.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py index f0b6fed58..b5ad9a05d 100644 --- a/pym/portage/sets/files.py +++ b/pym/portage/sets/files.py @@ -126,17 +126,18 @@ class StaticFileSet(EditablePackageSet): except KeyError: raise SetConfigError(_("Could not find repository '%s'") % match.groupdict()["reponame"]) - if isinstance(directory, unicode): - # Avoid UnicodeDecodeError raised from - # os.path.join when called by os.walk. - directory_unicode = directory - directory = directory.encode('utf_8', 'replace') - else: - directory_unicode = unicode(directory, - encoding='utf_8', errors='replace') - if os.path.isdir(directory): directory = normalize_path(directory) + + if isinstance(directory, unicode): + # Avoid UnicodeDecodeError raised from + # os.path.join when called by os.walk. + directory_unicode = directory + directory = directory.encode('utf_8', 'replace') + else: + directory_unicode = unicode(directory, + encoding='utf_8', errors='replace') + for parent, dirs, files in os.walk(directory): if not isinstance(parent, unicode): parent = unicode(parent, -- 2.26.2