Source code for pyquickhelper.serverdoc.server_helper
# -*- coding:utf-8 -*-
"""
Helpers about a documentation.
:githublink:`%|py|6`
"""
import os
import warnings
[docs]def get_jenkins_mappings(root, loc="dist"):
"""
we assume jobs were set up through a jenkins server,
the function looks into folder *root* and list
folder ``root/.*/dist/html.*``
:param root: folder or list of folders or list of tuple ``(prefix, folder)``
:param loc: *dist* by default (dist in the folder mentioned above),
it could also be ``_doc/sphinxdoc/build``
:return: dictionary { "name":folder }
:githublink:`%|py|21`
"""
if not isinstance(root, list):
roots = [root]
else:
roots = root
maps = {}
for ro in roots:
if isinstance(ro, tuple):
prefix, ro = ro
else:
prefix, ro = "", ro # pylint: disable=W0127
ro = os.path.abspath(ro)
sub = os.listdir(ro)
for s in sub:
fold = os.path.join(ro, s)
if os.path.isdir(fold):
dist = os.path.join(fold, loc)
if os.path.exists(dist):
ht = os.listdir(dist)
for h in ht:
if h.startswith("html"):
index = os.path.join(dist, h, "index.html")
if os.path.exists(index):
name = prefix + s + "-" + \
h.replace("/", "_").replace("\\", "_")
maps[name] = os.path.join(dist, h)
if len(maps) == 0:
warnings.warn( # pragma: no cover
"Unable to find any folder in '{0}'".format(root), UserWarning)
return maps