Skip to content

Commit

Permalink
Repair run_example and allow configuring html_dir via the command line.
Browse files Browse the repository at this point in the history
Support a directory argument of "." to allow outputting to an output
folder in the cwd with an automatic suffix: ./_autoarchaologist

While here add top level run_example wrapper shell script in advance of a
future change to provide a unified run CLI.
  • Loading branch information
alexjeffburke committed Oct 2, 2024
1 parent 3374d44 commit df73880
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 10 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,9 @@ __pycache__/
# Sphinx documentation
docs/_build/

# Build files
venv/

# Temporary files
_.*
/output/
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
default: example

example:
./venv/bin/python3 run_example.py -d .
18 changes: 17 additions & 1 deletion ddhf/ddhf/decorated_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,29 @@ def from_argv(self):
"AUTOARCHAEOLOGIST_BITSTORE_CACHE": "ddhf_bitstore_cache",
}

def main(job, html_subdir="tmp", **kwargs):
def parse_arguments(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument('-o', '--out', default='/tmp/_autoarchaologist')

args = parser.parse_args(args=argv)
if args.out == '.':
args.out = os.path.join(os.getcwd(), "_autoarchaologist")
return args

def main(job, html_subdir, **kwargs):
args = parse_arguments()
kwargs["html_dir"] = args.out

''' A standard main routine to reduce boiler-plate '''
for key in os.environ:
i = OK_ENVS.get(key)
if i:
kwargs[i] = os.environ[key]

if 'html_dir' not in kwargs:
raise AttributeError("missing: html_dir")


kwargs['html_dir'] = os.path.join(kwargs['html_dir'], html_subdir)
kwargs.setdefault('download_links', True)
kwargs.setdefault('download_limit', 1 << 20)
Expand Down
Empty file added output/.gitkeep
Empty file.
29 changes: 20 additions & 9 deletions run_example.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,35 @@

import argparse
import os
import sys

import autoarchaeologist

from autoarchaeologist.generic.bigdigits import BigDigits
from autoarchaeologist.generic.bigtext import BigText
from autoarchaeologist.generic.samesame import SameSame
from autoarchaeologist.data_general.absbin import AbsBin
from autoarchaeologist.data_general.papertapechecksum import DGC_PaperTapeCheckSum

def parse_arguments(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--dir", default="/tmp/_autoarchaologist")

args = parser.parse_args(args=argv)
if args.dir == ".":
args.dir = os.path.join(os.getcwd(), "output", "_autoarchaologist")
return args

if __name__ == "__main__":
args = parse_arguments()

try:
os.mkdir(args.dir)
except FileExistsError:
pass

ctx = autoarchaeologist.Excavation()
ctx = autoarchaeologist.Excavation(html_dir=args.dir)

ctx.add_examiner(BigDigits)
ctx.add_examiner(BigText)
ctx.add_examiner(AbsBin)
ctx.add_examiner(DGC_PaperTapeCheckSum)
ctx.add_examiner(SameSame)
Expand All @@ -22,11 +38,6 @@

ctx.start_examination()

try:
os.mkdir("/tmp/_autoarchaologist")
except FileExistsError:
pass

ctx.produce_html(html_dir="/tmp/_autoarchaologist")
ctx.produce_html()

print("Now point your browser at", ctx.filename_for(ctx).link)

0 comments on commit df73880

Please sign in to comment.