[Rpm-metadata] createrepo/__init__.py

Seth Vidal skvidal at linux.duke.edu
Tue Jan 8 16:01:25 UTC 2008


 createrepo/__init__.py |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

New commits:
commit 2e6cff3a4672d6c885cc9ad120ac281ff3c90214
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Tue Jan 8 10:59:47 2008 -0500

    politely bounce over damaged rpms - output an error report
    new errorlog() method - can  be easily replaced in subclass

diff --git a/createrepo/__init__.py b/createrepo/__init__.py
index c9c854e..082e937 100644
--- a/createrepo/__init__.py
+++ b/createrepo/__init__.py
@@ -115,7 +115,10 @@ class MetaDataGenerator:
         self._os_path_walk(startdir, extension_visitor, filelist)
         return filelist
 
-
+    def errorlog(self, thing):
+        """subclass this if you want something different...."""
+        print >> sys.stderr, thing
+        
     def checkTimeStamps(self):
         """check the timestamp of our target dir. If it is not newer than the repodata
            return False, else True"""
@@ -240,7 +243,12 @@ class MetaDataGenerator:
             # otherwise do it individually
             if not recycled:
                 #scan rpm files
-                po = self.read_in_package(directory, pkg)
+                try:
+                    po = self.read_in_package(directory, pkg)
+                except MDError, e:
+                    # need to say something here
+                    self.errorlog("\nError %s: %s\n" % (pkg, e))
+                    continue
                 reldir = os.path.join(self.conf.basedir, directory)
                 self.primaryfile.write(po.do_primary_xml_dump(reldir, baseurl=self.conf.baseurl))
                 self.flfile.write(po.do_filelists_xml_dump())



More information about the Rpm-metadata mailing list