Skip to content

Commit 415bd45

Browse files
committed
Always show error when input file does not end in .gz
1 parent 73f73a2 commit 415bd45

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

src/isal/igzip.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,19 @@ def main():
285285

286286
compresslevel = args.compresslevel or _COMPRESS_LEVEL_TRADEOFF
287287

288+
# Determine input file
289+
if args.compress and args.file is None:
290+
in_file = sys.stdin.buffer
291+
elif args.compress and args.file is not None:
292+
in_file = io.open(args.file, mode="rb")
293+
elif not args.compress and args.file is None:
294+
in_file = IGzipFile(mode="rb", fileobj=sys.stdin.buffer)
295+
elif not args.compress and args.file is not None:
296+
base, extension = os.path.splitext(args.file)
297+
if extension != ".gz":
298+
raise ValueError(f"filename doesn't end in .gz: {args.file}. ")
299+
in_file = open(args.file, "rb")
300+
288301
# Determine output file
289302
if args.compress and (args.file is None or args.stdout):
290303
out_file = IGzipFile(mode="wb", compresslevel=compresslevel,
@@ -295,22 +308,8 @@ def main():
295308
elif not args.compress and (args.file is None or args.stdout):
296309
out_file = sys.stdout.buffer
297310
elif not args.compress and args.file is not None:
298-
base, extension = os.path.splitext(args.file)
299-
if extension != ".gz":
300-
raise ValueError(f"filename doesn't end in .gz: {args.file}. "
301-
f"Cannot determine filename for output")
302311
out_file = io.open(base, "wb")
303312

304-
# Determine input file
305-
if args.compress and args.file is None:
306-
in_file = sys.stdin.buffer
307-
elif args.compress and args.file is not None:
308-
in_file = io.open(args.file, mode="rb")
309-
elif not args.compress and args.file is None:
310-
in_file = IGzipFile(mode="rb", fileobj=sys.stdin.buffer)
311-
elif not args.compress and args.file is not None:
312-
in_file = open(args.file, "rb")
313-
314313
try:
315314
while True:
316315
block = in_file.read(args.buffer_size)

0 commit comments

Comments
 (0)