added compression method lzma for tar files

This commit is contained in:
bitwave 2018-04-25 18:51:46 +02:00
parent a0b8ae4932
commit aeb8588198
1 changed files with 5 additions and 1 deletions

View File

@ -227,7 +227,7 @@ class FileHandler(FileBaseHandler):
class TarFileHandler(FileBaseHandler): class TarFileHandler(FileBaseHandler):
target = None target = None
compression = "none" compression = "none"
compressionMethods = ("none", "gzip", "bzip2") compressionMethods = ("none", "gzip", "bzip2", "xz")
def do_HEAD(self): def do_HEAD(self):
if self.checkAndDoRedirect(): if self.checkAndDoRedirect():
@ -269,6 +269,8 @@ class TarFileHandler(FileBaseHandler):
cmd = ["tar", "-cz"] cmd = ["tar", "-cz"]
elif self.compression == "bzip2": elif self.compression == "bzip2":
cmd = ["tar", "-cj"] cmd = ["tar", "-cj"]
elif self.compression == "xz":
cmd = ["tar", "-cJ"]
else: else:
raise ValueError("Unknown compression mode '%s'." % self.compression) raise ValueError("Unknown compression mode '%s'." % self.compression)
@ -287,6 +289,8 @@ class TarFileHandler(FileBaseHandler):
return ".tar.gz" return ".tar.gz"
elif TarFileHandler.compression == "bzip2": elif TarFileHandler.compression == "bzip2":
return ".tar.bz2" return ".tar.bz2"
elif TarFileHandler.compression == "xz":
return ".tar.xz"
raise ValueError("Unknown compression mode '%s'." % TarFileHandler.compression) raise ValueError("Unknown compression mode '%s'." % TarFileHandler.compression)