Source code for yadmark.navigator
import argparse
import pathlib
import banana
from banana import cfg as banana_cfg
from banana import navigator as bnav
from . import glob, navigator
here = pathlib.Path(__file__).parent
banana.register(here.parents[2] / "benchmarks")
[docs]
def yelp(*args):
"""
Help function (renamed to avoid clash of names) - short cut: h.
"""
if len(args) == 0:
print(f"""Welcome to yadmark navigator - the yadism benchmark skript!
Available variables:
{bnav.help_vars}
o = "{bnav.o}" -> query observables
Available functions:
{bnav.help_fncs}
dfl(id) - log as DataFrame
simlogs(id) - find similar logs
diff(id,id) - subtractig logs
compare(id,id) - compare externals
check_log(id) - check logs passed
crashed_log(id) - print crashed logs
""")
elif len(args) == 1:
return help(*args)
return None
[docs]
def register_globals(configpath):
app = navigator.NavigatorApp(configpath, "sandbox")
glob.app = app
glob.glob["yelp"] = yelp
glob.glob["h"] = yelp
# register banana functions
bnav.register_globals(glob.glob, glob.app)
# add my functions
glob.glob["check_log"] = app.check_log
[docs]
def launch_navigator():
"""CLI Entry point"""
parser = argparse.ArgumentParser()
parser.add_argument(
"-c", "--config", type=pathlib.Path, default=None, help="Path to config file"
)
args = parser.parse_args()
register_globals(banana_cfg.detect(args.config))
return bnav.launch_navigator(
["yadism", "yadmark", "yadmark.navigator.glob"], skip_cfg=True
)