diff options
Diffstat (limited to 'tools/gendocs/source.py')
-rw-r--r-- | tools/gendocs/source.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/gendocs/source.py b/tools/gendocs/source.py new file mode 100644 index 0000000..3de4874 --- /dev/null +++ b/tools/gendocs/source.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + + +class SourceReader(object): + """Lecteur attentif de code source.""" + + + def __init__(self, parent, name, output): + """Initialise l'identité d'une partie de documentation.""" + + self._parent = parent + self._name = name + self._output_cls = output + self._output = output() + + + def build(self, validation): + """Construit de façon générique une documentation complète.""" + + self._output.open(self._name, self._fullname) + + others, mod_desc = self.prepare_module() + classes = self.list_all_classes() + + # Contenu du module + + self._output.start_main_section('Content') + + self._output.show_list_sub_modules(self._parent, self._fullname, others, self.make_path) + + self._output.show_list_sub_classes(self._fullname, classes, self.make_path) + + self._output.describe_module(mod_desc) + + # Description des classes + + if len(classes) > 0: + + self._output.start_main_section('Classes') + + for cls in classes: + self.describe_class(cls, validation) + + # Eléments propres au module + + self.describe_module_items() + + # Fermeture et suite + + self._output.close() + + for o in others: + o.build(validation) |