diff --git a/satpy/readers/utils.py b/satpy/readers/utils.py index 8fc6ba11fe..91dcd6dd2a 100644 --- a/satpy/readers/utils.py +++ b/satpy/readers/utils.py @@ -285,17 +285,18 @@ def __exit__(self, exc_type, exc_value, traceback): class generic_open(): """Context manager for opening either a regular file or a bzip2 file.""" - def __init__(self, filename, mode="rb"): + def __init__(self, filename, *args, **kwargs): """Keep filename and mode.""" self.filename = filename - self.mode = mode + self.open_args = args + self.open_kwargs = kwargs def __enter__(self): """Return a file-like object.""" if self.filename.endswith('.bz2'): - self.fp = bz2.open(self.filename, mode=self.mode) + self.fp = bz2.open(self.filename, *self.open_args, **self.open_kwargs) else: - self.fp = open(self.filename, mode=self.mode) + self.fp = open(self.filename, *self.open_args, **self.open_kwargs) return self.fp