1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #! /usr/bin/python3
- # Copyright © 2025, Ansgar <ansgar@debian.org>
- # SPDX-License-Identifier: GPL-2.0-or-later
- import base64
- import json
- import subprocess
- import sys
- from tempfile import NamedTemporaryFile
- def encode(data: bytes) -> str:
- return base64.standard_b64encode(data).decode("ascii")
- with NamedTemporaryFile() as out_sig, NamedTemporaryFile() as out_txt:
- result = subprocess.run(
- [
- "/usr/bin/mini-git-tag-fsck",
- "--out-sig",
- out_sig.name,
- "--out-txt",
- out_txt.name,
- *sys.argv[1:],
- ],
- capture_output=True,
- )
- if result.returncode == 0:
- output = {
- "result": {
- "tag": encode(out_txt.read()),
- "signature": encode(out_sig.read()),
- }
- }
- else:
- output = {
- "error": {
- "returncode": result.returncode,
- "stderr": encode(result.stderr),
- }
- }
- json.dump(output, sys.stdout)
|