diff --git a/mongodb_consistent_backup/Backup/Mongodump/Mongodump.py b/mongodb_consistent_backup/Backup/Mongodump/Mongodump.py index 92b2a2ce..b3db63db 100644 --- a/mongodb_consistent_backup/Backup/Mongodump/Mongodump.py +++ b/mongodb_consistent_backup/Backup/Mongodump/Mongodump.py @@ -57,16 +57,16 @@ def parse_mongodump_version(self): raise OperationError("Could not parse mongodump --version output!") def choose_compression(self): - if self.can_gzip(): + if self.can_compress(): if self.compression() == 'auto': logging.info("Mongodump binary supports gzip compression, auto-enabling gzip compression") self.compression('gzip') elif self.compression() == 'gzip': raise OperationError("mongodump gzip compression requested on binary that does not support gzip!") - def can_gzip(self): + def can_compress(self): if os.path.isfile(self.binary) and os.access(self.binary, os.X_OK): - logging.debug("Mongodump binary supports gzip") + logging.debug("Mongodump binary supports gzip compression") if tuple("3.2.0".split(".")) <= tuple(self.version.split(".")): return True return False diff --git a/mongodb_consistent_backup/Pipeline/Stage.py b/mongodb_consistent_backup/Pipeline/Stage.py index 4fa7e334..602687a6 100644 --- a/mongodb_consistent_backup/Pipeline/Stage.py +++ b/mongodb_consistent_backup/Pipeline/Stage.py @@ -64,6 +64,7 @@ def close(self): def is_compressed(self): if self.has_task() and hasattr(self._task, "is_compressed"): return self._task.is_compressed() + return False def compression(self, task=None): if self.has_task() and hasattr(self._task, "compression"): diff --git a/mongodb_consistent_backup/Pipeline/Task.py b/mongodb_consistent_backup/Pipeline/Task.py index 56a45b48..42863718 100644 --- a/mongodb_consistent_backup/Pipeline/Task.py +++ b/mongodb_consistent_backup/Pipeline/Task.py @@ -39,7 +39,9 @@ def compression(self, method=None): return parse_method(self.compression_method) def is_compressed(self): - if self.compression() != 'none': + if self.compression() == 'auto' and hasattr(self, "can_compress"): + return self.can_compress() + elif self.compression() != 'none': return True return False