aboutsummaryrefslogtreecommitdiff
path: root/package_info/cli
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-09-27 23:33:53 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-09-27 23:33:53 -0400
commitb0a757c9621bf094f1c522da04c979f67533e28d (patch)
treea40f390b37146099d00d4503f26d53970133e2f4 /package_info/cli
parent7f7c8f952d9b1408d22ffd69bce37d05b7c85f00 (diff)
downloadpackage_info-b0a757c9621bf094f1c522da04c979f67533e28d.tar.gz
Create entry_pointHEADmaster
Diffstat (limited to 'package_info/cli')
-rw-r--r--package_info/cli/__init__.py0
-rw-r--r--package_info/cli/__main__.py28
2 files changed, 28 insertions, 0 deletions
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())