Accept application/gzip as MIME type for newer libmagic versions.

This commit is contained in:
Bastian Kleineidam 2013-06-27 22:16:55 +02:00
parent 4f0ef10324
commit 7e9c672702
4 changed files with 12 additions and 8 deletions

View File

@ -1,4 +1,7 @@
1.2 "" (released xx.xx.2013)
1.2 "" (released 27.6.2013)
* Fix detection of *.gz with newer libmagic versions.
Closes: GH bug #2
1.1 "Clerks" (released 7.4.2013)

View File

@ -43,6 +43,7 @@ ArchiveCompressions = ('bzip2', 'compress', 'gzip', 'lzip', 'lzma', 'xz')
# Map MIME types to archive format
ArchiveMimetypes = {
'application/gzip': 'gzip',
'application/java-archive': 'zip',
'application/rar': 'rar',
'application/vnd.ms-cab-compressed': 'cab',

View File

@ -226,7 +226,7 @@ def guess_mime (filename):
Encoding2Mime = {
'gzip': "application/x-gzip",
'gzip': "application/gzip",
'bzip2': "application/x-bzip2",
'compress': "application/x-compress",
'lzma': "application/x-lzma",
@ -234,6 +234,8 @@ Encoding2Mime = {
'xz': "application/x-xz",
}
Mime2Encoding = dict([(_val, _key) for _key, _val in Encoding2Mime.items()])
# libmagic before version 5.14 identified .gz files as application/x-gzip
Mime2Encoding['application/x-gzip'] = 'gzip'
def guess_mime_mimedb (filename):

View File

@ -57,8 +57,8 @@ class TestMime (unittest.TestCase):
self.mime_test_file("t.cpio.foo", "application/x-cpio")
self.mime_test_file("t.deb", "application/x-debian-package")
self.mime_test_file("t.deb.foo", "application/x-debian-package")
self.mime_test_file("t.txt.gz", "application/x-gzip")
self.mime_test_file("t.txt.gz.foo", "application/x-gzip")
self.mime_test_file("t.txt.gz", ("application/gzip", "application/x-gzip"))
self.mime_test_file("t.txt.gz.foo", ("application/gzip", "application/x-gzip"))
self.mime_test_file("t.jar", "application/zip")
self.mime_test_file("t.jar.foo", "application/zip")
# file(1) does not recognize .lzma files
@ -85,8 +85,6 @@ class TestMime (unittest.TestCase):
# file(1) does not recognize .lzma files
#self.mime_test_file("t.tar.lzma", "application/x-tar", "lzma")
#self.mime_test_file("t.tar.lzma.foo", "application/x-tar", "lzma")
self.mime_test_file("t.txt.gz", "application/x-gzip")
self.mime_test_file("t.txt.gz.foo", "application/x-gzip")
self.mime_test_file("t.txt.xz", "application/x-xz")
self.mime_test_file("t.txt.xz.foo", "application/x-xz")
self.mime_test_file("t.txt.Z", "application/x-compress")
@ -164,7 +162,7 @@ class TestMime (unittest.TestCase):
self.mime_test_mimedb("t.cab", "application/x-cab")
self.mime_test_mimedb("t.cpio", "application/x-cpio")
self.mime_test_mimedb("t.deb", "application/x-debian-package")
self.mime_test_mimedb("t.gz", "application/x-gzip")
self.mime_test_mimedb("t.gz", "application/gzip")
self.mime_test_mimedb("t.jar", "application/java-archive")
self.mime_test_mimedb("t.lzma", "application/x-lzma")
self.mime_test_mimedb("t.txt.lz", "application/x-lzip")
@ -181,7 +179,7 @@ class TestMime (unittest.TestCase):
self.mime_test_mimedb("t.taz", "application/x-tar", "gzip")
self.mime_test_mimedb("t.tbz2", "application/x-tar", "bzip2")
self.mime_test_mimedb("t.tgz", "application/x-tar", "gzip")
self.mime_test_mimedb("t.txt.gz", "application/x-gzip")
self.mime_test_mimedb("t.txt.gz", "application/gzip")
self.mime_test_mimedb("t .xz", "application/x-xz")
self.mime_test_mimedb("t.Z", "application/x-compress")
self.mime_test_mimedb("t.zip", ("application/zip", "application/x-zip-compressed"))