pythons cripts
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Read Sites from the Muninn API.
|
||||
|
||||
Usage:
|
||||
python3 sites.py list [--name NAME]
|
||||
python3 sites.py get SITE_ID
|
||||
|
||||
Base URL defaults to http://localhost:8001, override with the
|
||||
MUNINN_API_URL environment variable.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
|
||||
import _client
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Sites API client")
|
||||
subparsers = parser.add_subparsers(dest="command", required=True)
|
||||
|
||||
list_parser = subparsers.add_parser("list", help="List all sites")
|
||||
list_parser.add_argument("--name", help="Partial match filter on name")
|
||||
|
||||
get_parser = subparsers.add_parser("get", help="Get a single site")
|
||||
get_parser.add_argument("site_id", type=int)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.command == "list":
|
||||
_client.request("GET", "/api/sites", params={"name": args.name})
|
||||
elif args.command == "get":
|
||||
_client.request("GET", f"/api/sites/{args.site_id}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user