Documenter semi-automatiquement¶
Sphinx est capable de trouver le fichier contenant le code-source de votre programme.
Pour récupérer les signatures et docstrings des fonctions avec l’extension autodoc
, il faut modifier le fichier docs/source/conf.py.
Premièrement, indiquer le dossier où se trouve le fichier contenant les fonctions:
import os
import sys
sys.path.append('/home/....../docs/source')
Ensuite, charger l’extension autodoc
:
extensions = [
'sphinx.ext.autodoc'
]
Soit, docs/source/monProgramme.py:
ALPHA="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
DIGIT="0123456789"
FILENAME=ALPHA+DIGIT+"-_" # nom de fichier sans extension
def input2(msg, str_carac=FILENAME, isCaracOK=True, isVideOK=False):
"""
Cette fonction retourne une string composée de caractères autorisés.
:param str msg: message affiché avant le curseur
:param str str_carac: liste des caractères.
:param bool isCaracOK: Indique que le second paramètre représente la liste des caractères autorisés (True, par défaut) ou la liste des caractères interdits (False)
:param bool isVideOK: Indique que la valeur de retour peut être vide (True) ou pas (False,(par défaut)
:return: Une string tapée (ou collée) par l'utilisateur
:rtype: str
"""
while(True):
re=input(msg); OK=True
for i in range(len(re)):
if(isCaracOK):
if (re[i] not in str_carac):
print(re[i]+" est un caractère interdit."); OK=False; break
else:
if (re[i] in str_carac):
print(re[i]+" est un caractère interdit."); OK=False; break
if(not OK): continue
if(not isVideOK and len(re)==0): continue
return re
Si le fichier contenant les fonctions est monProgramme.py
et que la fonction dont la docstring à récupérer est input2(…), alors dans le fichier d’extension .rst
, il faut taper la directive:
.. autofunction:: monProgramme.input2
Ci-dessous, ce qui est rendu par cette directive :
- monProgramme.input2(msg, str_carac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_', isCaracOK=True, isVideOK=False)¶
Cette fonction retourne une string composée de caractères autorisés.
- Parameters
msg (str) – message affiché avant le curseur
str_carac (str) – liste des caractères.
isCaracOK (bool) – Indique que le second paramètre représente la liste des caractères autorisés (True, par défaut) ou la liste des caractères interdits (False)
isVideOK (bool) – Indique que la valeur de retour peut être vide (True) ou pas (False,(par défaut)
- Returns
Une string tapée (ou collée) par l’utilisateur
- Return type
str
Pour chaque fonction, il faut donc taper une directive.
Warning
Le point d’entrée de
monProgramme.py
doit être conditionel:if __name__ == '__main__': main()