Example #1
0
def generate_docs_from_scratch(env_root, version, base_url):
    docs_dir = get_sdk_docs_path(env_root)
    web_docs = webdocs.WebDocs(env_root, version, base_url)
    must_rewrite_links = True
    if base_url:
        must_rewrite_links = False
    clean_generated_docs(docs_dir)

    # py2.5 doesn't have ignore=, so we delete tempfiles afterwards. If we
    # required >=py2.6, we could use ignore=shutil.ignore_patterns("*~")
    for (dirpath, dirnames, filenames) in os.walk(docs_dir):
        for n in filenames:
            if n.endswith("~"):
                os.unlink(os.path.join(dirpath, n))

    # generate api docs for all modules
    if not os.path.exists(os.path.join(docs_dir, "modules")):
        os.mkdir(os.path.join(docs_dir, "modules"))
    module_root = os.sep.join([env_root, "doc", "module-source"])
    module_list = get_module_list(module_root)
    [write_module_doc(env_root, web_docs, module_info, must_rewrite_links) for module_info in module_list]

    # generate dev-guide docs
    devguide_root = os.sep.join([env_root, "doc", "dev-guide-source"])
    devguide_list = get_devguide_list(devguide_root)
    [write_devguide_doc(env_root, web_docs, devguide_info, must_rewrite_links) for devguide_info in devguide_list]

    # make /md/dev-guide/welcome.html the top level index file
    doc_html = web_docs.create_guide_page(os.path.join(docs_dir, 'dev-guide-source', 'index.md'))
    write_file(env_root, doc_html, docs_dir, 'index', False)
Example #2
0
 def _create_base_page(self, root, base_url):
     base_page = unicode(open(root + INDEX_PAGE, 'r').read(), 'utf8')
     if base_url:
         base_tag = 'href="' + base_url + '"'
         base_page = insert_after(base_page, BASE_URL_INSERTION_POINT,
                                  base_tag)
     base_page = insert_after(base_page, VERSION_INSERTION_POINT,
                              "Version " + self.version)
     module_list = get_module_list(
         os.sep.join([root, "doc", "module-source"]))
     high_level_module_list = [
         module_info for module_info in module_list
         if module_info.level() == "high"
     ]
     high_level_module_text = self._make_module_text(high_level_module_list)
     base_page = insert_after(base_page, \
         HIGH_LEVEL_MODULE_SUMMARIES, high_level_module_text)
     low_level_module_list = [
         module_info for module_info in module_list
         if module_info.level() == "low"
     ]
     low_level_module_text = self._make_module_text(low_level_module_list)
     base_page = insert_after(base_page, \
         LOW_LEVEL_MODULE_SUMMARIES, low_level_module_text)
     return base_page
Example #3
0
def generate_named_file(env_root, filename_and_path):
    module_list = get_module_list(env_root)
    web_docs = webdocs.WebDocs(env_root, module_list, get_versions()["version"], get_base_url(env_root))
    abs_path = os.path.abspath(filename_and_path)
    path, filename = os.path.split(abs_path)
    if abs_path.startswith(os.path.join(env_root, 'doc', 'module-source')):
        module_root = os.sep.join([env_root, "doc", "module-source"])
        module_info = ModuleInfo(env_root, module_root, path, filename)
        write_module_doc(env_root, web_docs, module_info, False)
    elif abs_path.startswith(os.path.join(get_sdk_docs_path(env_root), 'dev-guide-source')):
        devguide_root = os.sep.join([env_root, "doc", "dev-guide-source"])
        devguideitem_info = DevGuideItemInfo(env_root, devguide_root, path, filename)
        write_devguide_doc(env_root, web_docs, devguideitem_info, False)
    else:
        raise ValueError("Not a valid path to a documentation file")
Example #4
0
 def _create_base_page(self, root, base_url):
     base_page = unicode(open(root + INDEX_PAGE, 'r').read(), 'utf8')
     if base_url:
         base_tag = 'href="' + base_url + '"'
         base_page = insert_after(base_page, BASE_URL_INSERTION_POINT, base_tag)
     base_page = insert_after(base_page, VERSION_INSERTION_POINT, "Version " + self.version)
     module_list = get_module_list(os.sep.join([root, "doc", "module-source"]))
     high_level_module_list = [module_info for module_info in module_list if module_info.level() == "high"]
     high_level_module_text = self._make_module_text(high_level_module_list)
     base_page = insert_after(base_page, \
         HIGH_LEVEL_MODULE_SUMMARIES, high_level_module_text)
     low_level_module_list = [module_info for module_info in module_list if module_info.level() == "low"]
     low_level_module_text = self._make_module_text(low_level_module_list)
     base_page = insert_after(base_page, \
         LOW_LEVEL_MODULE_SUMMARIES, low_level_module_text)
     return base_page
Example #5
0
def generate_docs_from_scratch(env_root, version, base_url):
    docs_dir = get_sdk_docs_path(env_root)
    module_list = get_module_list(env_root)
    web_docs = webdocs.WebDocs(env_root, module_list, version, base_url)
    must_rewrite_links = True
    if base_url:
        must_rewrite_links = False
    clean_generated_docs(docs_dir)

    # py2.5 doesn't have ignore=, so we delete tempfiles afterwards. If we
    # required >=py2.6, we could use ignore=shutil.ignore_patterns("*~")
    for (dirpath, dirnames, filenames) in os.walk(docs_dir):
        for n in filenames:
            if n.endswith("~"):
                os.unlink(os.path.join(dirpath, n))

    # generate api docs for all modules
    if not os.path.exists(os.path.join(docs_dir, "modules")):
        os.mkdir(os.path.join(docs_dir, "modules"))
    [write_module_doc(env_root, web_docs, module_info, must_rewrite_links) for module_info in module_list]

    # generate third-party module index
    third_party_index_file = os.sep.join([env_root, "doc", "module-source", "third-party-modules.md"])
    third_party_module_list = [module_info for module_info in module_list if module_info.level() == "third-party"]
    write_module_index(env_root, web_docs, third_party_index_file, third_party_module_list, must_rewrite_links)


    # generate high-level module index
    high_level_index_file = os.sep.join([env_root, "doc", "module-source", "high-level-modules.md"])
    high_level_module_list = [module_info for module_info in module_list if module_info.level() == "high"]
    write_module_index(env_root, web_docs, high_level_index_file, high_level_module_list, must_rewrite_links)

    # generate low-level module index
    low_level_index_file = os.sep.join([env_root, "doc", "module-source", "low-level-modules.md"])
    low_level_module_list = [module_info for module_info in module_list if module_info.level() == "low"]
    write_module_index(env_root, web_docs, low_level_index_file, low_level_module_list, must_rewrite_links)

    # generate dev-guide docs
    devguide_list = get_devguide_list(env_root)
    [write_devguide_doc(env_root, web_docs, devguide_info, must_rewrite_links) for devguide_info in devguide_list]

    # make /md/dev-guide/welcome.html the top level index file
    doc_html = web_docs.create_guide_page(os.path.join(docs_dir, 'dev-guide-source', 'index.md'))
    write_file(env_root, doc_html, docs_dir, 'index', False)