27 lines
1,020 B
Python
27 lines
1,020 B
Python
#!/usr/bin/env python3
|
|
"""Use the native registry from Python, preserving its attribution and provenance."""
|
|
|
|
import argparse
|
|
import json
|
|
import subprocess
|
|
|
|
|
|
def lookup(binary, generation, pin, query):
|
|
"""The native reader authenticates the generation using the caller's trusted pin."""
|
|
result = subprocess.run(
|
|
[binary, "lookup", "--generation", generation, "--pin", pin,
|
|
"--query", query, "--limit", "100"],
|
|
check=True, capture_output=True, text=True, timeout=60,
|
|
)
|
|
return json.loads(result.stdout)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument("--binary", default="argand-site-registry")
|
|
parser.add_argument("--generation", required=True)
|
|
parser.add_argument("--pin", required=True)
|
|
parser.add_argument("--query", required=True)
|
|
args = parser.parse_args()
|
|
print(json.dumps(lookup(args.binary, args.generation, args.pin, args.query),
|
|
ensure_ascii=False, sort_keys=True))
|