Skip to content

Commit 9c642b1

Browse files
committed
More strict and appropriate mode assertions
1 parent cc87b8f commit 9c642b1

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/xopen/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ def flush(self) -> None:
432432

433433

434434
def _open_stdin_or_out(mode: str) -> BinaryIO:
435-
assert "b" in mode
435+
assert mode in ("rb", "ab", "wb")
436436
std = sys.stdin if mode == "rb" else sys.stdout
437437
return open(std.fileno(), mode=mode, closefd=False) # type: ignore
438438

@@ -443,7 +443,7 @@ def _open_bz2(
443443
compresslevel: Optional[int],
444444
threads: Optional[int],
445445
):
446-
assert "b" in mode
446+
assert mode in ("rb", "ab", "wb")
447447
if compresslevel is None:
448448
compresslevel = XOPEN_DEFAULT_BZ2_COMPRESSION
449449
if threads != 0:
@@ -468,7 +468,7 @@ def _open_xz(
468468
compresslevel: Optional[int],
469469
threads: Optional[int],
470470
):
471-
assert "b" in mode
471+
assert mode in ("rb", "ab", "wb")
472472
if compresslevel is None:
473473
compresslevel = XOPEN_DEFAULT_XZ_COMPRESSION
474474

@@ -498,7 +498,7 @@ def _open_zst(
498498
compresslevel: Optional[int],
499499
threads: Optional[int],
500500
):
501-
assert "b" in mode
501+
assert mode in ("rb", "ab", "wb")
502502
assert compresslevel != 0
503503
if compresslevel is None:
504504
compresslevel = XOPEN_DEFAULT_ZST_COMPRESSION
@@ -546,7 +546,7 @@ def _open_gz(
546546
only one core, it still finishes faster than using the builtin gzip library
547547
as the (de)compression is moved to another thread.
548548
"""
549-
assert "b" in mode
549+
assert mode in ("rb", "ab", "wb")
550550
if compresslevel is None:
551551
# Force the same compression level on every tool regardless of
552552
# library defaults

0 commit comments

Comments
 (0)