createrepo/__init__.py

[email protected] (Seth Vidal)
Newsgroups gmane.linux.rpm.metadata
Message-ID <[email protected]>
 createrepo/__init__.py |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

New commits:
commit 2e6cff3a4672d6c885cc9ad120ac281ff3c90214
Author: Seth Vidal <[email protected]>
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())
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.