Source code for twindb_backup.modifiers.gzip

# -*- coding: utf-8 -*-
"""
Module defines modifier that compresses a stream with gzip
"""
from twindb_backup.modifiers.base import Modifier


[docs]class Gzip(Modifier): """ Modifier that compresses the input_stream with gzip. """ suffix = ".gz" def __init__(self, input_stream, level=9): """ Modifier that uses gzip compression :param input_stream: Input stream. Must be file object :param level: compression level from 1 to 9 (fastest to best) :type level: int """ super(Gzip, self).__init__(input_stream) self._level = level @property def _modifier_cmd(self): """get compression program cmd""" return ["gzip", "-{0}".format(self._level), "-c", "-"] @property def _unmodifier_cmd(self): """get decompression program cmd""" return ["gunzip", "-c"]