File size: 730 Bytes
4cef980 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from __future__ import annotations
import argparse
import json
from typing import Sequence
from identify import identify
def main(argv: Sequence[str] | None = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument('--filename-only', action='store_true')
parser.add_argument('path')
args = parser.parse_args(argv)
if args.filename_only:
func = identify.tags_from_filename
else:
func = identify.tags_from_path
try:
tags = sorted(func(args.path))
except ValueError as e:
print(e)
return 1
if not tags:
return 1
else:
print(json.dumps(tags))
return 0
if __name__ == '__main__':
raise SystemExit(main())
|