diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea1472e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/4467-sprout-usage/grab_shielded_data.py b/4467-sprout-usage/grab_shielded_data.py index 6df21ee..1856ff9 100644 --- a/4467-sprout-usage/grab_shielded_data.py +++ b/4467-sprout-usage/grab_shielded_data.py @@ -1,18 +1,29 @@ +import os import sys from slickrpc.rpc import Proxy import csv import progressbar -if not (3 <= len(sys.argv) <= 5): - raise SystemExit(f'Usage: {sys.argv[0]} RPCUSER RPCPASSWORD [ HOST [ PORT ] ]\n\nFound: {sys.argv}') +usage = f'Usage: {sys.argv[0]} OUTPUTDIR RPCUSER RPCPASSWORD [ HOST [ PORT ] ]\n\nFound: {sys.argv}' +args = sys.argv[1:] -user, passwd = sys.argv[1:3] -host = '127.0.0.1' -if len(sys.argv) > 3: - host = sys.argv[3] -port = '8232' -if len(sys.argv) > 4: - port = sys.argv[4] +def pop_arg(name, default=None): + try: + return args.pop(0) + except IndexError: + if default is None: + raise SystemExit(f'Missing {name} argument.\n\n{usage}') + else: + return default + +os.chdir(pop_arg('OUTPUTDIR')) +user = pop_arg('RPCUSER') +passwd = pop_arg('RPCPASSWORD') +host = pop_arg('HOST', default='127.0.0.1') +port = pop_arg('PORT', default='8232') + +if len(args) > 0: + raise SystemExit(f'Unexpected args.\n\n{usage}') rpc_url = f'http://{user}:{passwd}@{host}:{port}/' print(f'RPC URL: {rpc_url!r}') diff --git a/Dockerfile b/Dockerfile index 940628b..2047db8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,4 +14,4 @@ RUN pip3 install slick-bitcoinrpc && pip3 install progressbar2 RUN mkdir -p /project/{src,output} COPY . /project/src -ENTRYPOINT ["python3", "/project/src/4467-sprout-usage/grab_shielded_data.py"] +ENTRYPOINT ["python3", "/project/src/4467-sprout-usage/grab_shielded_data.py", "/project/output"] diff --git a/docker-run.sh b/docker-run.sh new file mode 100755 index 0000000..66d5458 --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -efuo pipefail + +REPODIR="$(dirname "$(readlink -f "$0")")" +OUTDIR="${REPODIR}/output" + +[ -d "$OUTDIR" ] || mkdir "$OUTDIR" + +time docker build -t zcash-graphs "$REPODIR" +time docker run -v "${OUTDIR}:/project/output" zcash-graphs "$@"