diff options
-rw-r--r-- | apt/debfile.py | 6 | ||||
-rw-r--r-- | tests/data/test_debs/gdebi-test13.deb | bin | 0 -> 720 bytes | |||
-rw-r--r-- | tests/test_debfile.py | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/apt/debfile.py b/apt/debfile.py index e9be9672..3f4bca4b 100644 --- a/apt/debfile.py +++ b/apt/debfile.py @@ -27,7 +27,7 @@ import os import sys from apt_pkg import gettext as _ -from io import StringIO +from io import BytesIO class NoDebArchiveException(IOError): @@ -637,9 +637,9 @@ class DebPackage(object): data = part.extractdata(name) # check for zip content if name.endswith(".gz") and auto_decompress: - io = StringIO(data) + io = BytesIO(data) gz = gzip.GzipFile(fileobj=io) - data = _("Automatically decompressed:\n\n") + data = _("Automatically decompressed:\n\n").encode("utf-8") data += gz.read() # auto-convert to hex try: diff --git a/tests/data/test_debs/gdebi-test13.deb b/tests/data/test_debs/gdebi-test13.deb Binary files differnew file mode 100644 index 00000000..4e7a8289 --- /dev/null +++ b/tests/data/test_debs/gdebi-test13.deb diff --git a/tests/test_debfile.py b/tests/test_debfile.py index eae8038f..d6cc88b2 100644 --- a/tests/test_debfile.py +++ b/tests/test_debfile.py @@ -178,6 +178,11 @@ Description: testpackage for gdebi - contains usr/bin/binary for file reading "./data/test_debs/testdep-same-arch_1.0-1_i386.deb") self.assertTrue(same.check(), same._failure_string) + def test_get_content_gzip_data(self): + deb = apt.debfile.DebPackage("./data/test_debs/gdebi-test13.deb") + data = deb.data_content("./lala.gz") + self.assertEqual(data, "Automatically decompressed:\n\nlala\n") + if __name__ == "__main__": #logging.basicConfig(level=logging.DEBUG) |