From edc151b2f05a5c95079947195cdd15b8b69dd109 Mon Sep 17 00:00:00 2001 From: Jason Swift Date: Tue, 23 May 2023 22:26:34 +0800 Subject: [PATCH] enhanced cli --- filetype/__main__.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/filetype/__main__.py b/filetype/__main__.py index 7df5c4f..b79aaa0 100644 --- a/filetype/__main__.py +++ b/filetype/__main__.py @@ -1,4 +1,6 @@ -import sys +import glob +from itertools import chain +from os.path import isfile import filetype @@ -17,20 +19,22 @@ def main(): parser = argparse.ArgumentParser( prog='filetype', description='Determine type of FILEs.' ) - parser.add_argument('-f', '--file', nargs='+') + parser.add_argument( + 'file', nargs='+', + help='files, wildcard is supported' + ) parser.add_argument( '-v', '--version', action='version', - version='%(prog)s ' + filetype.version, + version=f'%(prog)s {filetype.version}', help='output version information and exit' ) args = parser.parse_args() - if len(sys.argv) < 2: - parser.print_help() - sys.exit(1) + items = chain.from_iterable(map(glob.iglob, args.file)) + files = filter(isfile, items) - for i in args.file: - guess(i) + for file in files: + guess(file) if __name__ == '__main__':