| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/usr/bin/env python3
- import json
- import sys
- from urllib.error import HTTPError, URLError
- from urllib.request import urlopen
- API_PATH = "/api/v1/data"
- TIMEOUT = 10
- def main():
- if len(sys.argv) != 2:
- print("Usage: agent_p1 IP_OR_FQDN", file=sys.stderr)
- sys.exit(1)
- address = sys.argv[1]
- url = f"http://{address}{API_PATH}"
- try:
- with urlopen(url, timeout=TIMEOUT) as response:
- data = json.load(response)
- except HTTPError as exc:
- print(
- f"P1 API HTTP error: {exc.code} {exc.reason}",
- file=sys.stderr,
- )
- sys.exit(1)
- except URLError as exc:
- print(
- f"P1 API connection error: {exc.reason}",
- file=sys.stderr,
- )
- sys.exit(1)
- except TimeoutError:
- print("P1 API request timed out", file=sys.stderr)
- sys.exit(1)
- except json.JSONDecodeError as exc:
- print(
- f"P1 API returned invalid JSON: {exc}",
- file=sys.stderr,
- )
- sys.exit(1)
- print("<<<p1:sep(0)>>>")
- print(json.dumps(data, separators=(",", ":")))
- if __name__ == "__main__":
- main()
|