Coverage for pyquickhelper/server/server_helper.py: 96%
27 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-03 02:21 +0200
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-03 02:21 +0200
1# -*- coding:utf-8 -*-
2"""
3@file
4@brief Helpers about a documentation.
5"""
7import os
8import warnings
11def get_jenkins_mappings(root, loc="dist"):
12 """
13 we assume jobs were set up through a jenkins server,
14 the function looks into folder *root* and list
15 folder ``root/.*/dist/html.*``
17 @param root folder or list of folders or list of tuple ``(prefix, folder)``
18 @param loc *dist* by default (dist in the folder mentioned above),
19 it could also be ``_doc/sphinxdoc/build``
20 @return dictionary { "name":folder }
21 """
22 if not isinstance(root, list):
23 roots = [root]
24 else:
25 roots = root # pragma: no cover
27 maps = {}
28 for ro in roots:
29 if isinstance(ro, tuple):
30 prefix, ro = ro
31 else:
32 prefix, ro = "", ro # pylint: disable=W0127
33 ro = os.path.abspath(ro)
34 sub = os.listdir(ro)
35 for s in sub:
36 fold = os.path.join(ro, s)
37 if os.path.isdir(fold):
38 dist = os.path.join(fold, loc)
39 if os.path.exists(dist):
40 ht = os.listdir(dist)
41 for h in ht:
42 if h.startswith("html"):
43 index = os.path.join(dist, h, "index.html")
44 if os.path.exists(index):
45 name = prefix + s + "-" + \
46 h.replace("/", "_").replace("\\", "_")
47 maps[name] = os.path.join(dist, h)
49 if len(maps) == 0:
50 warnings.warn( # pragma: no cover
51 f"Unable to find any folder in '{root}'", UserWarning)
52 return maps