From: Seth Vidal Date: Thu, 23 Oct 2008 20:47:41 +0000 (-0400) Subject: allow already-compressed metadata files to work and not be double-compressed X-Git-Tag: upstream/0.9.9~98 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fbfec43a6a551fc70f707b786d583a33aaa8989d;p=tools%2Fcreaterepo.git allow already-compressed metadata files to work and not be double-compressed --- diff --git a/modifyrepo.py b/modifyrepo.py index b86f53e..558ec08 100755 --- a/modifyrepo.py +++ b/modifyrepo.py @@ -62,7 +62,10 @@ class RepoMetadata: mdname = 'updateinfo.xml' elif isinstance(metadata, str): if os.path.exists(metadata): - oldmd = file(metadata, 'r') + if metadata.endswith('.gz'): + oldmd = GzipFile(filename=metadata, mode='rb') + else: + oldmd = file(metadata, 'r') md = oldmd.read() oldmd.close() mdname = os.path.basename(metadata) @@ -72,7 +75,8 @@ class RepoMetadata: raise Exception('invalid metadata type') ## Compress the metadata and move it into the repodata - mdname += '.gz' + if not mdname.endswith('.gz'): + mdname += '.gz' mdtype = mdname.split('.')[0] destmd = os.path.join(self.repodir, mdname) newmd = GzipFile(filename=destmd, mode='wb')