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 get_library(): lib = MCDPLibrary() lib.use_cache_dir('_cached/plot_batteries_cache') lib.add_search_dir('.') return lib