createrepo/__init__.py

[email protected]
Newsgroups gmane.linux.rpm.metadata
Message-ID <[email protected]>
 createrepo/__init__.py |   28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

New commits:
commit 189eb87b1e24c59ae113d281d39f2a7f60180996
Author: Seth Vidal <[email protected]>
Date:   Tue Aug 25 15:44:36 2009 -0400

    capture ioerror/oserrors on handling metadata files and emit a proper MDError
    fixes rh bug: https://bugzilla.redhat.com/show_bug.cgi?id=514995

diff --git a/createrepo/__init__.py b/createrepo/__init__.py
index 609569a..6df9099 100644
--- a/createrepo/__init__.py
+++ b/createrepo/__init__.py
@@ -362,9 +362,12 @@ class MetaDataGenerator:
         if not isinstance(packages, MetaSack):
             packages = self.trimRpms(packages)
         self.pkgcount = len(packages)
-        self.openMetadataDocs()
-        self.writeMetadataDocs(packages)
-        self.closeMetadataDocs()
+        try:
+            self.openMetadataDocs()
+            self.writeMetadataDocs(packages)
+            self.closeMetadataDocs()
+        except (IOError, OSError), e:
+            raise MDError, _('Cannot access/write repodata files: %s') % e
 
     def openMetadataDocs(self):
         if self.conf.database_only:
@@ -1133,14 +1136,17 @@ class SplitMetaDataGenerator(MetaDataGenerator):
         mediano = 1
         self.current_pkg = 0
         self.conf.baseurl = self._getFragmentUrl(self.conf.baseurl, mediano)
-        self.openMetadataDocs()
-        original_basedir = self.conf.basedir
-        for mydir in self.conf.directories:
-            self.conf.baseurl = self._getFragmentUrl(self.conf.baseurl, mediano)
-            self.writeMetadataDocs(filematrix[mydir], mydir)
-            mediano += 1
-        self.conf.baseurl = self._getFragmentUrl(self.conf.baseurl, 1)
-        self.closeMetadataDocs()
+        try:
+            self.openMetadataDocs()
+            original_basedir = self.conf.basedir
+            for mydir in self.conf.directories:
+                self.conf.baseurl = self._getFragmentUrl(self.conf.baseurl, mediano)
+                self.writeMetadataDocs(filematrix[mydir], mydir)
+                mediano += 1
+            self.conf.baseurl = self._getFragmentUrl(self.conf.baseurl, 1)
+            self.closeMetadataDocs()
+        except (IOError, OSError), e:
+            raise MDError, _('Cannot access/write repodata files: %s') % e
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.