From 9ca6e164361aaf5f60b746d45c2821104fdd269b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= Date: Sun, 26 Sep 2010 10:33:23 +0000 Subject: [PATCH] file: Handle all compressed files Now it signs all compressed index files and calculates sums of them. --- pisi/file.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pisi/file.py b/pisi/file.py index bf134bc4..dc88e83f 100644 --- a/pisi/file.py +++ b/pisi/file.py @@ -188,19 +188,22 @@ class File: "this method must be called at the end of operation" self.__file__.close() if self.mode == File.write: - compressed_file = None - if self.compress & File.COMPRESSION_TYPE_XZ: + compressed_files = [] + ctypes = self.compress or 0 + if ctypes & File.COMPRESSION_TYPE_XZ: import lzma compressed_file = self.localfile + ".xz" + compressed_files.append(compressed_file) options = {"level": 9} lzma_file = lzma.LZMAFile(compressed_file, "w", options=options) lzma_file.write(open(self.localfile, "r").read()) lzma_file.close() - if self.compress & File.COMPRESSION_TYPE_BZ2: + if ctypes & File.COMPRESSION_TYPE_BZ2: import bz2 compressed_file = self.localfile + ".bz2" + compressed_files.append(compressed_file) bz2.BZ2File(compressed_file, "w").write(open(self.localfile, "r").read()) if self.sha1sum: @@ -208,7 +211,7 @@ class File: cs = file(self.localfile + '.sha1sum', 'w') cs.write(sha1) cs.close() - if compressed_file: + for compressed_file in compressed_files: sha1 = pisi.util.sha1_file(compressed_file) cs = file(compressed_file + '.sha1sum', 'w') cs.write(sha1) @@ -217,7 +220,7 @@ class File: if self.sign==File.detached: if pisi.util.run_batch('gpg --detach-sig ' + self.localfile)[0]: raise Error(_("ERROR: gpg --detach-sig %s failed") % self.localfile) - if compressed_file: + for compressed_file in compressed_files: if pisi.util.run_batch('gpg --detach-sig ' + compressed_file)[0]: raise Error(_("ERROR: gpg --detach-sig %s failed") % compressed_file)