commit be511a4597b7e3e8b320ef40ad53f2d7250d5c0c Author: James Antill Date: Wed Oct 21 02:26:53 2009 -0400 Add size/open-size to modifyrepo and MetaDataGenerator.addArbitraryMetadata diff --git a/createrepo/__init__.py b/createrepo/__init__.py index 77a03ee..d65e33f 100644 --- a/createrepo/__init__.py +++ b/createrepo/__init__.py @@ -756,7 +756,7 @@ class MetaDataGenerator: else: csum = open_csum - timest = os.stat(outfn)[8] + cm_stat = os.stat(outfn) # add all this garbage into the xml node like: data = xml_node.newChild(None, 'data', None) @@ -771,7 +771,11 @@ class MetaDataGenerator: opencsum = data.newChild(None, 'open-checksum', open_csum) opencsum.newProp('type', self.conf.sumtype) - timestamp = data.newChild(None, 'timestamp', str(timest)) + timestamp = data.newChild(None, 'timestamp', str(cm_stat.st_mtime)) + data.newChild(None, 'size', str(cm_stat.st_size)) + if compress: + un_stat = os.stat(mdfile) + data.newChild(None, 'open-size', str(un_stat.st_size)) # add the random stuff for (k, v) in attribs.items(): diff --git a/modifyrepo.py b/modifyrepo.py index bbf938d..127f7b6 100755 --- a/modifyrepo.py +++ b/modifyrepo.py @@ -86,6 +86,7 @@ class RepoMetadata: newmd = GzipFile(filename=destmd, mode='wb') newmd.write(md) newmd.close() + mdlen = len(md) print "Wrote:", destmd open_csum = checksum(self.checksum_type, metadata) @@ -113,12 +114,19 @@ class RepoMetadata: attrs={ 'type' : self.checksum_type }, text=csum) data.appendChild(self.doc.createTextNode("\n ")) + cm_stat = os.stat(destmd) self._insert_element(data, 'timestamp', - text=str(os.stat(destmd).st_mtime)) + text=str(cm_stat.st_mtime)) data.appendChild(self.doc.createTextNode("\n ")) self._insert_element(data, 'open-checksum', attrs={ 'type' : self.checksum_type }, text=open_csum) + self._insert_element(data, 'size', + text=str(cm_stat.st_size)) + data.appendChild(self.doc.createTextNode("\n ")) + self._insert_element(data, 'open-size', + text=str(mdlen)) + data.appendChild(self.doc.createTextNode("\n ")) data.appendChild(self.doc.createTextNode("\n ")) root.appendChild(self.doc.createTextNode("\n"))