summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-12-03 05:09:13 +0000
committerZac Medico <zmedico@gentoo.org>2009-12-03 05:09:13 +0000
commit74ae1f292d652dcbe2762d444e9180c31d681233 (patch)
tree1d1fb94afaa0d557c8a6a92c6cc1e0b01d1b82a4
parentFix deprecated usage of dep_getkey(). Thanks to Sebastian Mingramm (few) (diff)
downloadportage-74ae1f292d652dcbe2762d444e9180c31d681233.tar.gz
portage-74ae1f292d652dcbe2762d444e9180c31d681233.tar.bz2
portage-74ae1f292d652dcbe2762d444e9180c31d681233.zip
Bug #295351 - Make update_dbentries() return unicode if it's given unicode,
and bytes if it's given bytes. (trunk r14921) svn path=/main/branches/2.1.7/; revision=14923
-rw-r--r--pym/portage/update.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/portage/update.py b/pym/portage/update.py
index c2f8f3006..04812d5a4 100644
--- a/pym/portage/update.py
+++ b/pym/portage/update.py
@@ -63,15 +63,19 @@ def update_dbentries(update_iter, mydata):
k_unicode = _unicode_decode(k,
encoding=_encodings['repo.content'], errors='replace')
if k_unicode not in ignored_dbentries:
+ orig_content = mycontent
mycontent = _unicode_decode(mycontent,
encoding=_encodings['repo.content'], errors='replace')
+ is_encoded = mycontent is not orig_content
orig_content = mycontent
for update_cmd in update_iter:
mycontent = update_dbentry(update_cmd, mycontent)
if mycontent != orig_content:
- updated_items[k] = _unicode_encode(mycontent,
- encoding=_encodings['repo.content'],
- errors='backslashreplace')
+ if is_encoded:
+ mycontent = _unicode_encode(mycontent,
+ encoding=_encodings['repo.content'],
+ errors='backslashreplace')
+ updated_items[k] = mycontent
return updated_items
def fixdbentries(update_iter, dbdir):