示例#1
0
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)
示例#2
0
def get_library():
    lib = MCDPLibrary()
    lib.use_cache_dir('_cached/plot_batteries_cache')
    lib.add_search_dir('.')
    return lib
示例#3
0
def get_library():
    lib = MCDPLibrary()
    lib.use_cache_dir('_cached/plot_batteries_cache')
    lib.add_search_dir('.')
    return lib