[yum-commits] Branch 'yum-3_2_X' - 2 commits - yum/packages.py yum/sqlitesack.py

skvidal at osuosl.org skvidal at osuosl.org
Tue Oct 14 16:13:05 UTC 2008


 yum/packages.py   |   18 +++++++++++-------
 yum/sqlitesack.py |    6 ++++--
 2 files changed, 15 insertions(+), 9 deletions(-)

New commits:
commit 74c30914c0b159e2b3007bd8ed7c50d8accccbe3
Merge: e78cae6... 8451f08...
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Tue Oct 14 12:12:59 2008 -0400

    Merge branch 'yum-3_2_X' of ssh://yum.baseurl.org/srv/projects/yum/git/yum into yum-3_2_X
    
    * 'yum-3_2_X' of ssh://yum.baseurl.org/srv/projects/yum/git/yum:
      Don't output progress for rpm callbacks when in -e 0 -d 0
      Fix unicode exceptions in reinstall, bug 466838
      Fix another unicode problem, locale.format("%d", ...) in cs_CZ
      Add documentation for metalink
      Undeprecate metadataCurrent(), and use it for metalink.xml and repomd.xml
      Add metalink config. option to each repo.
      Fix metalink exceptions, and make it easier to use for yumRepo
      Cleanup metalink data
      Add length/checksums to the RepoMD object
      Expand on checksum() to allow multiple checksums over a single file
      Give a nicer message when filelists contains pkgKeys primary doesn't

commit e78cae6543094aa6e254e5d903e07150645e591f
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Tue Oct 14 12:12:49 2008 -0400

    some minor changes to how we output the xml - to, theoretically,
    solve the unicode/random-encoding problems.

diff --git a/yum/packages.py b/yum/packages.py
index 9cb5c19..c0373e4 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -932,8 +932,8 @@ class YumAvailablePackage(PackageObject, RpmBase):
             if clog_limit and clog_count >= clog_limit:
                 break
             clog_count += 1
-            msg += '''<changelog author="%s" date="%s">%s</changelog>\n''' % (
-                        misc.to_xml(author, attrib=True), str(ts), 
+            msg += """<changelog author="%s" date="%s">%s</changelog>\n""" % (
+                        misc.to_xml(author, attrib=True), misc.to_xml(str(ts)), 
                         misc.to_xml(content))
         return msg
 
@@ -956,8 +956,12 @@ class YumAvailablePackage(PackageObject, RpmBase):
         msg = """\n<package pkgid="%s" name="%s" arch="%s">
     <version epoch="%s" ver="%s" rel="%s"/>\n""" % (self.checksum, self.name, 
                                      self.arch, self.epoch, self.ver, self.rel)
-        msg += self._dump_changelog(clog_limit)
-        msg += "\n</package>\n"
+        clogs = str(self._dump_changelog(clog_limit))
+        #print type(clogs)
+        mystr  = "%s\n</package>\n"
+        #print type(mystr)
+        foo = "%s\n</package>\n" % clogs
+        msg += "%s\n</package>\n" % self._dump_changelog(clog_limit)
         return msg
 
 
@@ -1104,9 +1108,9 @@ class YumHeaderPackage(YumAvailablePackage):
         # then create a _loadChangelog() method to put them into the 
         # self._changelog attr
         if len(self.hdr['changelogname']) > 0:
-            return zip(self.hdr['changelogtime'],
-                       self.hdr['changelogname'],
-                       self.hdr['changelogtext'])
+            return zip(misc.to_unicode(self.hdr['changelogtime'], errors='replace'),
+                       misc.to_unicode(self.hdr['changelogname'], errors='replace'),
+                       misc.to_unicode(self.hdr['changelogtext'], errors='replace'))
         return []
 
     def returnChecksums(self):
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 578d0b9..e085aa8 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -204,8 +204,10 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
             # Check count(pkgId) here, the same way we do in searchFiles()?
             # Failure mode is much less of a problem.
             for ob in cur:
-                result.append( (ob['date'], _share_data(ob['author']),
-                                ob['changelog']) )
+                c_date = ob['date']
+                c_author = ob['author'].encode('utf-8', 'replace')
+                c_log = ob['changelog'].encode('utf-8', 'replace')
+                result.append((c_date, _share_data(c_author), c_log))
             self._changelog = result
             return
     


More information about the Yum-commits mailing list