[Rpm-metadata] createrepo/__init__.py
skvidal at osuosl.org
skvidal at osuosl.org
Tue Aug 25 19:47:17 UTC 2009
createrepo/__init__.py | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
New commits:
commit 189eb87b1e24c59ae113d281d39f2a7f60180996
Author: Seth Vidal <skvidal at fedoraproject.org>
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
More information about the Rpm-metadata
mailing list