From: Zac Medico Date: Sat, 28 Feb 2009 08:27:56 +0000 (-0000) Subject: When checking ebuild content, use codecs.open() to force utf_8 encoding for X-Git-Tag: v2.2_rc24~82 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1aea678de5d31f3847e347e0233b1fcb18a80b93;p=portage.git When checking ebuild content, use codecs.open() to force utf_8 encoding for py3k compatibility (all ebuilds should have utf_8 encoding). svn path=/main/trunk/; revision=12733 --- diff --git a/bin/repoman b/bin/repoman index eaa03f749..318bc1ca0 100755 --- a/bin/repoman +++ b/bin/repoman @@ -1444,14 +1444,18 @@ for x in scanlist: # Syntax Checks relative_path = os.path.join(x, y + ".ebuild") full_path = os.path.join(repodir, relative_path) - f = open(full_path) try: - for check_name, e in run_checks(f, pkg): - stats[check_name] += 1 - fails[check_name].append(relative_path + ': %s' % e) - finally: - f.close() - del f + # All ebuilds should have utf_8 encoding. + f = codecs.open(full_path, mode='r', encoding='utf_8') + try: + for check_name, e in run_checks(f, pkg): + stats[check_name] += 1 + fails[check_name].append(relative_path + ': %s' % e) + finally: + f.close() + except UnicodeDecodeError: + # A file.UTF8 failure will have already been recorded above. + pass if options.force: # The dep_check() calls are the most expensive QA test. If --force