Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- coding:utf-8 -*- 

2""" 

3@file 

4@brief Helpers about a documentation. 

5""" 

6 

7import os 

8import warnings 

9 

10 

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.*`` 

16 

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 

26 

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) 

48 

49 if len(maps) == 0: 

50 warnings.warn( # pragma: no cover 

51 "Unable to find any folder in '{0}'".format(root), UserWarning) 

52 return maps