diff options
Diffstat (limited to 'package_info')
-rw-r--r-- | package_info/__init__.py | 2 | ||||
-rw-r--r-- | package_info/cli/__init__.py | 0 | ||||
-rw-r--r-- | package_info/cli/__main__.py | 28 | ||||
-rwxr-xr-x | package_info/package_info.py | 23 |
4 files changed, 29 insertions, 24 deletions
diff --git a/package_info/__init__.py b/package_info/__init__.py index 53b9073..12f53f5 100644 --- a/package_info/__init__.py +++ b/package_info/__init__.py @@ -7,4 +7,4 @@ except DistributionNotFound: # package is not installed __version__ = 'unknown' -from . import package_data +from . import package_info diff --git a/package_info/cli/__init__.py b/package_info/cli/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/package_info/cli/__init__.py diff --git a/package_info/cli/__main__.py b/package_info/cli/__main__.py new file mode 100644 index 0000000..c524dd3 --- /dev/null +++ b/package_info/cli/__main__.py @@ -0,0 +1,28 @@ +import sys +import json +from argparse import ArgumentParser +from ..package_info import get_package_info + + +def main(): + parser = ArgumentParser() + parser.add_argument("package", nargs="*") + args = parser.parse_args() + + name = args.package[0] + result = get_package_info(name) + + if len(args.package) < 2: + # Dump all data as JSON + print(json.dumps(result, indent=4)) + else: + # Dump the value of a key as JSON + pattern = args.package[1] + try: + print(json.dumps(result[pattern], indent=4)) + except KeyError: + print("{}") + return 1 + +if __name__ == "__main__": + sys.exit(main()) diff --git a/package_info/package_info.py b/package_info/package_info.py index 229af80..88614de 100755 --- a/package_info/package_info.py +++ b/package_info/package_info.py @@ -1,8 +1,5 @@ #!/usr/bin/env python from pkg_resources import get_distribution -import sys -import json - def get_package_info(name): read_desc = False @@ -57,23 +54,3 @@ def get_package_info(name): result["description"] += record + '\n' return result - -if __name__ == "__main__": - if len(sys.argv) < 2: - print("Not enough arguments: need package name", file=sys.stderr) - exit(1) - - name = sys.argv[1] - result = get_package_info(name) - - if len(sys.argv) < 3: - # Dump all data as JSON - print(json.dumps(result, indent=4)) - else: - # Dump the value of a key as JSON - pattern = sys.argv[2] - try: - print(json.dumps(result[pattern], indent=4)) - except KeyError: - print("{}") - exit(1) |