summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-16 07:43:05 +0100
committerAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-17 16:41:32 +0100
commit000a832751563cfe571363a27e293fd3d9db31a4 (patch)
tree5d96fdc02640d4a7120ad3a83b9965c7e0282113 /src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py
parent8605cd3d0cb4d549cb8b43de945d447f6d82892a (diff)
downloadbcfg2-000a832751563cfe571363a27e293fd3d9db31a4.tar.gz
bcfg2-000a832751563cfe571363a27e293fd3d9db31a4.tar.bz2
bcfg2-000a832751563cfe571363a27e293fd3d9db31a4.zip
Packages: Support different compression methods
The new Reader classes implement different compression methods for the files parsed by the Packages backends. Each source can specify a default compression format. The user can configure a compression format per Source and the filename and extension for the metadata files are generated automatically.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py b/src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py
new file mode 100644
index 000000000..8e67e2b33
--- /dev/null
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Readers/Gzip.py
@@ -0,0 +1,11 @@
+""" Reader for gzip compressed package sources. """
+
+import gzip
+from Bcfg2.Server.Plugins.Packages.Readers import Reader
+
+
+class GzipReader(Reader):
+ extension = 'gz'
+
+ def _open(self, filename):
+ return gzip.GzipFile(filename)