Patch to allow import from compressed (.gz and .bz2) files From: Clark Williams Signed-off-by: Clark Williams --- stgit/commands/imprt.py | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/stgit/commands/imprt.py b/stgit/commands/imprt.py index 4a4b792..050301a 100644 --- a/stgit/commands/imprt.py +++ b/stgit/commands/imprt.py @@ -178,8 +178,22 @@ def __create_patch(filename, message, author_name, author_email, def __import_file(filename, options, patch = None): """Import a patch from a file or standard input """ + if patch: + pname = patch + else: + pname = filename + if filename: - f = file(filename) + if filename.endswith('.gz'): + import gzip + f = gzip.open(filename) + pname = strip_suffix('.gz', filename) + elif filename.endswith('.bz2'): + import bz2 + f = bz2.BZ2File(filename) + pname = strip_suffic('.bz2', filename) + else: + f = file(filename) else: f = sys.stdin @@ -197,11 +211,6 @@ def __import_file(filename, options, patch = None): if filename: f.close() - if patch: - pname = patch - else: - pname = filename - __create_patch(pname, message, author_name, author_email, author_date, diff, options)