Branch 'maintenance' - dumpMetadata.py modifyrepo.py

[email protected] (Seth Vidal)
Newsgroups gmane.linux.rpm.metadata
Message-ID <[email protected]>
 dumpMetadata.py |   20 ++++++++++++++------
 modifyrepo.py   |   10 ++++++++++
 2 files changed, 24 insertions(+), 6 deletions(-)

New commits:
commit 3277ad57a11302a461b3aae3c2ded4b9b3520464
Author: Seth Vidal <[email protected]>
Date:   Wed Dec 5 15:04:29 2007 -0500

    merge patches from christoph thiel and florian laroche:
    christoph: make modifyrepo modifications be pretty xml
    florian: sort file and deps so multiple runs can be more easily diff'd

diff --git a/dumpMetadata.py b/dumpMetadata.py
index 723bb6d..84df6a1 100644
--- a/dumpMetadata.py
+++ b/dumpMetadata.py
@@ -406,7 +406,9 @@ class RpmMetaData:
         except TypeError:
             del u  # move on to the next method
         else:
-            return u.keys()
+            ret = u.keys()
+            ret.sort()
+            return ret
     
         # We can't hash all the elements.  Second fastest is to sort,
         # which brings the equal elements together; then duplicates are
@@ -503,7 +505,7 @@ class RpmMetaData:
             for glob in self.filerc:
                 if glob.match(item):
                     returns[item] = 1
-        return returns
+        return returns.keys()
                     
     def usefulGhosts(self):
         """search for useful ghost file names"""
@@ -514,7 +516,7 @@ class RpmMetaData:
             for glob in self.filerc:
                 if glob.match(item):
                     returns[item] = 1
-        return returns
+        return returns.keys()
 
 
     def usefulDirs(self):
@@ -712,16 +714,22 @@ def generateXML(doc, node, formatns, rpmObj, sumtype):
             if prereq == 1:
                 entry.newProp('pre', str(prereq))
         
-    for file in rpmObj.usefulFiles():
+    ff = rpmObj.usefulFiles()
+    ff.sort()
+    for file in ff:
         files = format.newChild(None, 'file', None)
         file = utf8String(file)
         files.addContent(file)
-    for directory in rpmObj.usefulDirs():
+    ff = rpmObj.usefulDirs()
+    ff.sort()
+    for directory in ff:
         files = format.newChild(None, 'file', None)
         directory = utf8String(directory)
         files.addContent(directory)
         files.newProp('type', 'dir')
-    for directory in rpmObj.usefulGhosts():
+    ff = rpmObj.usefulGhosts()
+    ff.sort()
+    for directory in ff:
         files = format.newChild(None, 'file', None)
         directory = utf8String(directory)
         files.addContent(directory)
diff --git a/modifyrepo.py b/modifyrepo.py
index 30abe1c..e00da18 100755
--- a/modifyrepo.py
+++ b/modifyrepo.py
@@ -92,16 +92,25 @@ class RepoMetadata:
 
         ## Build the metadata
         root = self.doc.firstChild
+        root.appendChild(self.doc.createTextNode("  "))
         data = self._insert_element(root, 'data', attrs={ 'type' : mdtype })
+        data.appendChild(self.doc.createTextNode("\n    "))
+
         self._insert_element(data, 'location',
                              attrs={ 'href' : 'repodata/' + mdname })
+        data.appendChild(self.doc.createTextNode("\n    "))
         self._insert_element(data, 'checksum', attrs={ 'type' : 'sha' },
                              text=sha.new(newmd).hexdigest())
+        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' : 'sha' },
                              text=sha.new(md).hexdigest())
 
+        data.appendChild(self.doc.createTextNode("\n  "))
+        root.appendChild(self.doc.createTextNode("\n"))
+
         print "           type =", mdtype 
         print "       location =", 'repodata/' + mdname
         print "       checksum =", sha.new(newmd).hexdigest()
@@ -111,6 +120,7 @@ class RepoMetadata:
         ## Write the updated repomd.xml
         outmd = file(self.repomdxml, 'w')
         self.doc.writexml(outmd)
+        outmd.write("\n")
         outmd.close()
         print "Wrote:", self.repomdxml
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.