[yum-commits] yum/repoMDObject.py
zpavlas at osuosl.org
zpavlas at osuosl.org
Tue Jul 23 14:03:28 UTC 2013
yum/repoMDObject.py | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
New commits:
commit 4b787ee72609966ffcdcd178df047f3bf143f2c3
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date: Thu Jul 11 14:19:44 2013 +0200
RepoMD: parse and dump <delta> elements.
diff --git a/yum/repoMDObject.py b/yum/repoMDObject.py
index 88b82dc..97e6797 100755
--- a/yum/repoMDObject.py
+++ b/yum/repoMDObject.py
@@ -39,6 +39,7 @@ class RepoData:
self.dbversion = None
self.size = None
self.opensize = None
+ self.deltas = []
if elem:
self.parse(elem)
@@ -70,6 +71,10 @@ class RepoData:
self.size = child.text
elif child_name == 'open-size':
self.opensize = child.text
+ elif child_name == 'delta':
+ delta = RepoData(child)
+ delta.type = self.type
+ self.deltas.append(delta)
def dump_xml(self):
msg = ""
@@ -103,10 +108,21 @@ class RepoData:
xmlname)
msg += d_xml
+ for delta in self.deltas:
+ # change tag to "delta" and increase indent
+ body = '\n '.join(delta.dump_xml().split('\n')[1:-2])
+ msg += ' <delta>\n %s\n </delta>\n' % body
+
bottom = """</data>\n"""
msg += bottom
return msg
+ def getDelta(self, old_timestamp):
+ old_timestamp = int(old_timestamp)
+ for deltamd in self.deltas:
+ if int(deltamd.timestamp) <= old_timestamp:
+ return deltamd
+
class RepoMD:
"""represents the repomd xml file"""
More information about the Yum-commits
mailing list