Script to generate manpages - Fix #284

This commit is contained in:
toitoinebzh 2019-03-14 00:22:18 +01:00 committed by Laurent Peuch
parent d0c982a422
commit 58a03fc53c

43
manpages_auto.py Normal file
View file

@ -0,0 +1,43 @@
GNU nano 2.7.4 Fichier : manpages_auto.py
"""
Inspired by yunohost_completion.py (author: Christophe Vuillot)
=======
This script generates man pages for yunohost.
Pages are stored in OUTPUT_DIR
"""
import yaml
import os
ACTIONSMAP_FILE = '/usr/share/moulinette/actionsmap/yunohost.yml'
OUTPUT_DIR ="output/"
# creates output directory
os.system("mkdir "+ OUTPUT_DIR )
# man page of yunohost
cmd = "sudo help2man \" yunohost \" -o " + OUTPUT_DIR + "yunohost"
print(cmd)
os.system(cmd)
# man pages of "yunohost *"
with open(ACTIONSMAP_FILE, 'r') as stream:
# Getting the dictionary containning what actions are possible per domain
OPTION_TREE = yaml.load(stream)
DOMAINS = [str for str in OPTION_TREE.keys() if not str.startswith('_')]
DOMAINS_STR = '"{}"'.format(' '.join(DOMAINS))
ACTIONS_DICT = {}
for domain in DOMAINS:
ACTIONS = [str for str in OPTION_TREE[domain]['actions'].keys()
if not str.startswith('_')]
ACTIONS_STR = '"{}"'.format(' '.join(ACTIONS))
ACTIONS_DICT[domain] = ACTIONS_STR
for action in ACTIONS:
#print("yunohost", domain, action)
cmd = "sudo help2man \" yunohost " + domain + " " + action + " --help \" -o " +$
print(cmd)
os.system(cmd)