def render_book(src_dir, docname, generate_pdf, main_file, out_part_basename, filter_soup=None, extra_css=None): from mcdp_docs.pipeline import render_complete librarian = get_test_librarian() librarian.find_libraries('.') load_library_hooks = [librarian.load_library] library = MCDPLibrary(load_library_hooks=load_library_hooks) library.add_search_dir(src_dir) # # data = dict(path=dirname, library=l) # l.library_name = library_name # # library = librarian.load_library(libname) # # l = library.load_library(libname) d = tempfile.mkdtemp() library.use_cache_dir(d) basename = docname + '.' + MCDPConstants.ext_doc_md f = library._get_file_data(basename) data = f['data'] realpath = f['realpath'] def filter_soup0(soup, library): if filter_soup is not None: filter_soup(soup=soup, library=library) add_edit_links(soup, realpath) html_contents = render_complete(library=library, s=data, raise_errors=True, realpath=realpath, generate_pdf=generate_pdf, filter_soup=filter_soup0) doc = get_minimal_document(html_contents, add_markdown_css=True, extra_css=extra_css) dirname = main_file + '.parts' if dirname and not os.path.exists(dirname): try: os.makedirs(dirname) except: pass fn = os.path.join(dirname, '%s.html' % out_part_basename) with open(fn, 'w') as f: f.write(doc) return (('unused', docname), html_contents)
def go_(model_name, queries, result_like, what_to_plot_res, what_to_plot_fun, fn): lib = MCDPLibrary() lib.add_search_dir('.') ndp = lib.load_ndp(model_name) data = solve_queries(ndp, queries, result_like) r = Report() plot_all_directions(r, queries=data['queries'], results=data['results'], what_to_plot_res=what_to_plot_res, what_to_plot_fun=what_to_plot_fun) print('writing to %r' % fn) r.to_html(fn)
def go(): combinations = { "capacity": (np.linspace(50, 3000, 10), "Wh"), "missions": ( 1000, "[]"), } result_like = dict(maintenance="dimensionless", cost="USD", mass='kg') what_to_plot_res = result_like what_to_plot_fun = dict(capacity="Wh", missions="[]") lib = MCDPLibrary() lib.add_search_dir('.') ndp = lib.load_ndp('batteries') data = solve_combinations(ndp, combinations, result_like) r = Report() plot_all_directions(r, queries=data['queries'], results=data['results'], what_to_plot_res=what_to_plot_res, what_to_plot_fun=what_to_plot_fun) r.to_html('out/batteries-c1.html')
def go(): fn = 'out/actuation_c1.html' model_name = 'actuation' queries = [] def add(q): queries.append(q) n = 10 lifts = np.linspace(0, 10.0, n) for lift, in zip(lifts): q = { "lift": (lift, "N"), } add(q) result_like = dict(power="W", cost='$') what_to_plot_res = result_like what_to_plot_fun = dict(lift="N") lib = MCDPLibrary() lib.add_search_dir('.') ndp = lib.load_ndp(model_name) data = solve_queries(ndp, queries, result_like) r = Report() plot_all_directions(r, queries=data['queries'], results=data['results'], what_to_plot_res=what_to_plot_res, what_to_plot_fun=what_to_plot_fun) print('writing to %r' % fn) r.to_html(fn)
def go2(): model_name = 'batteries_squash' combinations = { "capacity": (np.linspace(50, 3000, 10), "Wh"), "missions": (1000, "[]"), } result_like = dict(cost="USD", mass='kg') what_to_plot_res = result_like what_to_plot_fun = dict(capacity="Wh", missions="[]") lib = MCDPLibrary() lib.add_search_dir('.') ndp = lib.load_ndp(model_name) data = solve_combinations(ndp, combinations, result_like) r = Report() plot_all_directions(r, queries=data['queries'], results=data['results'], what_to_plot_res=what_to_plot_res, what_to_plot_fun=what_to_plot_fun) r.to_html('out/batteries_squash-c2.html')
def go(): combinations = { "capacity": (np.linspace(50, 3000, 10), "Wh"), "missions": (1000, "[]"), } result_like = dict(maintenance="dimensionless", cost="USD", mass='kg') what_to_plot_res = result_like what_to_plot_fun = dict(capacity="Wh", missions="[]") lib = MCDPLibrary() lib.add_search_dir('.') ndp = lib.load_ndp('batteries') data = solve_combinations(ndp, combinations, result_like) r = Report() plot_all_directions(r, queries=data['queries'], results=data['results'], what_to_plot_res=what_to_plot_res, what_to_plot_fun=what_to_plot_fun) r.to_html('out/batteries-c1.html')
def get_library(): lib = MCDPLibrary() lib.use_cache_dir('_cached/plot_batteries_cache') lib.add_search_dir('.') return lib