diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 33e86d51a0fe50..ffaf1b1006cb3b 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -722,18 +722,23 @@ def _main(args=None): args, help_text = _parse_args(args) + results = [] if args.extension: for gtype in args.type: guess = guess_extension(gtype, not args.lenient) if guess: - return str(guess) - sys.exit(f"error: unknown type {gtype}") + results.append(str(guess)) + else: + sys.exit(f"error: unknown type {gtype}") + return '\n'.join(results) else: for gtype in args.type: guess, encoding = guess_type(gtype, not args.lenient) if guess: - return f"type: {guess} encoding: {encoding}" - sys.exit(f"error: media type unknown for {gtype}") + results.append(f"type: {guess} encoding: {encoding}") + else: + sys.exit(f"error: media type unknown for {gtype}") + return '\n'.join(results) return help_text diff --git a/Misc/NEWS.d/next/Library/2025-07-10-21-02-43.gh-issue-136507.pnEuGS.rst b/Misc/NEWS.d/next/Library/2025-07-10-21-02-43.gh-issue-136507.pnEuGS.rst new file mode 100644 index 00000000000000..58cc5461b92bfd --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-07-10-21-02-43.gh-issue-136507.pnEuGS.rst @@ -0,0 +1 @@ +Fix mimetypes CLI cannot handle multiple file parameters