From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 31089138010 for ; Wed, 12 Sep 2012 04:47:17 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A8EBAE0759; Wed, 12 Sep 2012 04:47:01 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 60892E0759 for ; Wed, 12 Sep 2012 04:47:01 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9B91333C9EB for ; Wed, 12 Sep 2012 04:47:00 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 57947E543C for ; Wed, 12 Sep 2012 04:46:59 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1347425203.6d1ed6df57e6167fee9c6fc30fa889f27042043e.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/xml/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/xml/metadata.py X-VCS-Directories: pym/portage/xml/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 6d1ed6df57e6167fee9c6fc30fa889f27042043e X-VCS-Branch: master Date: Wed, 12 Sep 2012 04:46:59 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 62b8f95f-6fea-4539-af6f-f7d94fd2e706 X-Archives-Hash: 74a94597629a79bbd4c522f99c2a455d commit: 6d1ed6df57e6167fee9c6fc30fa889f27042043e Author: Zac Medico gentoo org> AuthorDate: Wed Sep 12 04:46:43 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Wed Sep 12 04:46:43 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6d1ed6df MetaDataXML: encode unicode file paths safely This will fix cases similar to the one fixed in commit f01d7a8ca158ec60df76a3e8ae5b80ac3f62429e for bug #310789. --- pym/portage/xml/metadata.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py index f820e54..113b118 100644 --- a/pym/portage/xml/metadata.py +++ b/pym/portage/xml/metadata.py @@ -58,8 +58,7 @@ except (ImportError, SystemError, RuntimeError, Exception): import re import xml.etree.ElementTree -import portage -from portage import os, _unicode_decode +from portage import _encodings, _unicode_encode, _unicode_decode from portage.util import unique_everseen class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder): @@ -203,7 +202,8 @@ class MetaDataXML(object): self._xml_tree = None try: - self._xml_tree = etree.parse(metadata_xml_path, + self._xml_tree = etree.parse(_unicode_encode(metadata_xml_path, + encoding=_encodings['fs'], errors='strict'), parser=etree.XMLParser(target=_MetadataTreeBuilder())) except ImportError: pass @@ -241,7 +241,8 @@ class MetaDataXML(object): if self._herdstree is None: try: - self._herdstree = etree.parse(self._herds_path, + self._herdstree = etree.parse(_unicode_encode(self._herds_path, + encoding=_encodings['fs'], errors='strict'), parser=etree.XMLParser(target=_MetadataTreeBuilder())) except (ImportError, IOError, SyntaxError): return None