Skip to content

Commit

Permalink
Allow configuring html_dir via the command line and fix run_example.
Browse files Browse the repository at this point in the history
Support a directory argument of "." to allow outputting in the current
directory with an automatic suffix: ./_autoarchaologist
  • Loading branch information
alexjeffburke committed Feb 19, 2024
1 parent 9495bf6 commit b19719f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 14 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ docs/_build/

# Temporary files
_.*
_autoarchaologist/
6 changes: 0 additions & 6 deletions autoarchaeologist/ddhf/bitstore.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import mmap
import urllib.request

import ddhf_bitstore_metadata

from ..base import artifact
from ..base import excavation
from ..container import simh_tap_file
Expand Down Expand Up @@ -165,10 +163,6 @@ def fetch_single(self, arg):
print("Could not fetch", arg)
return

meta = ddhf_bitstore_metadata.internals.metadata.MetadataBase(metatxt)
if meta is None:
return

if self.media_types and not self.check_media_type(meta):
return

Expand Down
19 changes: 18 additions & 1 deletion autoarchaeologist/ddhf/decorated_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
'''

import argparse
import os

from ..base import excavation
Expand Down Expand Up @@ -84,13 +85,29 @@ def from_bitstore(self, *args, **kwargs):
"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
25 changes: 18 additions & 7 deletions run_example.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@

import argparse
import os
import sys

import autoarchaeologist

Expand All @@ -8,10 +10,24 @@
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(), "_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(AbsBin)
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 b19719f

Please sign in to comment.