Grâce à l’outil pyreverse (création de diagrammes UML à partir d’un code python) livré avec pylint (analyse des erreurs de code) j’ai pu générer les diagrammes UML de DuniterPy 0.56.0.
Packages (références entre les modules Python)
Classes (héritages)
Attention: pour que pyreverse
fonctionne, j’ai du corriger son code dans pylint/pyreverse/inspector.py
:
Il faut ajouter l’exception AttributeError
au except
.
@staticmethod
def handle_assignattr_type(node, parent):
"""handle an astroid.assignattr node
handle instance_attrs_type
"""
try:
values = set(node.infer())
current = set(parent.instance_attrs_type[node.attrname])
parent.instance_attrs_type[node.attrname] = list(current | values)
except (astroid.InferenceError, AttributeError):
pass