[Rpm-metadata] modifyrepo.py

skvidal at osuosl.org skvidal at osuosl.org
Fri Apr 24 18:52:03 UTC 2009


 modifyrepo.py |   25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

New commits:
commit e6fcd6136fc4d63d30b97e2cf2987aa807f1ccf1
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Fri Apr 24 14:50:24 2009 -0400

    pylint clean up on modifyrepo

diff --git a/modifyrepo.py b/modifyrepo.py
index 341f3ab..bbf938d 100755
--- a/modifyrepo.py
+++ b/modifyrepo.py
@@ -24,11 +24,12 @@
 import os
 import sys
 
-from createrepo.utils import checksum_and_rename, GzipFile
+from createrepo.utils import checksum_and_rename, GzipFile, MDError
 from yum.misc import checksum
 
 from xml.dom import minidom
 
+
 class RepoMetadata:
 
     def __init__(self, repo):
@@ -37,11 +38,13 @@ class RepoMetadata:
         self.repomdxml = os.path.join(self.repodir, 'repomd.xml')
         self.checksum_type = 'sha256'
         if not os.path.exists(self.repomdxml):
-            raise Exception('%s not found' % self.repomdxml)
+            raise MDError, '%s not found' % self.repomdxml
         self.doc = minidom.parse(self.repomdxml)
 
-    def _insert_element(self, parent, name, attrs={}, text=None):
+    def _insert_element(self, parent, name, attrs=None, text=None):
         child = self.doc.createElement(name)
+        if not attrs:
+            attrs = {}
         for item in attrs.items():
             child.setAttribute(item[0], item[1])
         if text:
@@ -57,7 +60,7 @@ class RepoMetadata:
         """
         md = None
         if not metadata:
-            raise Exception('metadata cannot be None')
+            raise MDError, 'metadata cannot be None'
         if isinstance(metadata, minidom.Document):
             md = metadata.toxml()
             mdname = 'updateinfo.xml'
@@ -71,9 +74,9 @@ class RepoMetadata:
                 oldmd.close()
                 mdname = os.path.basename(metadata)
             else:
-                raise Exception('%s not found' % metadata)
+                raise MDError, '%s not found' % metadata
         else:
-            raise Exception('invalid metadata type')
+            raise MDError, 'invalid metadata type'
 
         ## Compress the metadata and move it into the repodata
         if not mdname.endswith('.gz'):
@@ -106,13 +109,15 @@ class RepoMetadata:
         self._insert_element(data, 'location',
                              attrs={ 'href' : 'repodata/' + base_destmd })
         data.appendChild(self.doc.createTextNode("\n    "))
-        self._insert_element(data, 'checksum', attrs={ 'type' : self.checksum_type },
+        self._insert_element(data, 'checksum', 
+                             attrs={ 'type' : self.checksum_type }, 
                              text=csum)
         data.appendChild(self.doc.createTextNode("\n    "))
         self._insert_element(data, 'timestamp',
                              text=str(os.stat(destmd).st_mtime))
         data.appendChild(self.doc.createTextNode("\n    "))
-        self._insert_element(data, 'open-checksum', attrs={ 'type' : self.checksum_type },
+        self._insert_element(data, 'open-checksum', 
+                             attrs={ 'type' : self.checksum_type },
                              text=open_csum)
 
         data.appendChild(self.doc.createTextNode("\n  "))
@@ -138,12 +143,12 @@ if __name__ == '__main__':
         sys.exit()
     try:
         repomd = RepoMetadata(sys.argv[2])
-    except Exception, e:
+    except MDError, e:
         print "Could not access repository: %s" % str(e)
         sys.exit(1)
     try:
         repomd.add(sys.argv[1])
-    except Exception, e:
+    except MDError, e:
         print "Could not add metadata from file %s: %s" % (sys.argv[1], str(e))
         sys.exit(1)
 


More information about the Rpm-metadata mailing list