Skip to content

Commit 69ae20c

Browse files
committed
Fix mimetypes CLI cannot handle multiple file parameters
1 parent f519918 commit 69ae20c

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

Lib/mimetypes.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -717,25 +717,29 @@ def _parse_args(args):
717717

718718

719719
def _main(args=None):
720-
"""Run the mimetypes command-line interface and return a text to print."""
720+
"""Run the mimetypes command-line interface."""
721721
import sys
722722

723723
args, help_text = _parse_args(args)
724+
if not args.type:
725+
print(help_text)
726+
return
724727

725728
if args.extension:
726729
for gtype in args.type:
727730
guess = guess_extension(gtype, not args.lenient)
728731
if guess:
729-
return str(guess)
730-
sys.exit(f"error: unknown type {gtype}")
732+
print(str(guess))
733+
else:
734+
print(f"error: unknown type {gtype}", file=sys.stderr)
731735
else:
732736
for gtype in args.type:
733737
guess, encoding = guess_type(gtype, not args.lenient)
734738
if guess:
735-
return f"type: {guess} encoding: {encoding}"
736-
sys.exit(f"error: media type unknown for {gtype}")
737-
return help_text
739+
print(f"type: {guess} encoding: {encoding}")
740+
else:
741+
print(f"error: media type unknown for {gtype}", file=sys.stderr)
738742

739743

740744
if __name__ == '__main__':
741-
print(_main())
745+
_main()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix mimetypes CLI cannot handle multiple file parameters

0 commit comments

Comments
 (0)