eric7/DocumentationTools/ModuleDocumentor.py

Sun, 12 Sep 2021 20:22:27 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 12 Sep 2021 20:22:27 +0200
branch
eric7
changeset 8596
d64760b2da50
parent 8312
800c432b34c8
child 8598
0460087da31b
permissions
-rw-r--r--

Documentation Generator: streamlined the code to use an external style sheet file.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7888
diff changeset
3 # Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the builtin documentation generator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 The different parts of the module document are assembled from the parsed
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 Python file. The appearance is determined by several templates defined within
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 this module.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 import sys
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 import re
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8230
diff changeset
16 import contextlib
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from Utilities import html_uencode
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
19 from Utilities.ModuleParser import RB_SOURCE, Function
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
21 from . import TemplatesListsStyleCSS
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
22
3021
801289962f4e Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2991
diff changeset
23 _signal = re.compile(
4830
f609a22f43bd Fixed a few code style issues detected by the updated pep8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4667
diff changeset
24 r"""
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
25 ^@signal [ \t]+
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 (?P<SignalName1>
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 [a-zA-Z_] \w* [ \t]* \( [^)]* \)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 [ \t]* (?P<SignalDescription1> .*)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 |
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
31 ^@signal [ \t]+
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 (?P<SignalName2>
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 [a-zA-Z_] \w*
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 [ \t]+ (?P<SignalDescription2> .*)
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
36 """, re.VERBOSE | re.DOTALL | re.MULTILINE).search
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
3021
801289962f4e Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2991
diff changeset
38 _event = re.compile(
4830
f609a22f43bd Fixed a few code style issues detected by the updated pep8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4667
diff changeset
39 r"""
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
40 ^@event [ \t]+
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 (?P<EventName1>
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 [a-zA-Z_] \w* [ \t]* \( [^)]* \)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 [ \t]* (?P<EventDescription1> .*)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 |
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
46 ^@event [ \t]+
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 (?P<EventName2>
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 [a-zA-Z_] \w*
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 )
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 [ \t]+ (?P<EventDescription2> .*)
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
51 """, re.VERBOSE | re.DOTALL | re.MULTILINE).search
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
53
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 class TagError(Exception):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Exception class raised, if an invalid documentation tag was found.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
2953
703452a2876f Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2401
diff changeset
58 pass
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
60
8207
d359172d11be Applied some more code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7987
diff changeset
61 class ModuleDocument:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Class implementing the builtin documentation generator.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 """
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
65 def __init__(self, module):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
69 @param outputDir The output directory for the files
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
70 @type str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.module = module
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.empty = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
75 # TODO: replace these assignments
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
76 self.headerTemplate = TemplatesListsStyleCSS.headerTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
77 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
78 self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
79 self.rbFileTemplate = TemplatesListsStyleCSS.rbFileTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
80 self.classTemplate = TemplatesListsStyleCSS.classTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
81 self.methodTemplate = TemplatesListsStyleCSS.methodTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
82 self.constructorTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
83 TemplatesListsStyleCSS.constructorTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
84 self.rbModuleTemplate = TemplatesListsStyleCSS.rbModuleTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
85 self.rbModulesClassTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
86 TemplatesListsStyleCSS.rbModulesClassTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
87 self.functionTemplate = TemplatesListsStyleCSS.functionTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
88 self.listTemplate = TemplatesListsStyleCSS.listTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
89 self.listEntryTemplate = TemplatesListsStyleCSS.listEntryTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
90 self.listEntryNoneTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
91 TemplatesListsStyleCSS.listEntryNoneTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
92 self.listEntryDeprecatedTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
93 TemplatesListsStyleCSS.listEntryDeprecatedTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
94 self.listEntrySimpleTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
95 TemplatesListsStyleCSS.listEntrySimpleTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
96 self.paragraphTemplate = TemplatesListsStyleCSS.paragraphTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
97 self.parametersListTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
98 TemplatesListsStyleCSS.parametersListTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
99 self.parameterTypesListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
100 TemplatesListsStyleCSS.parameterTypesListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
101 self.parametersListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
102 TemplatesListsStyleCSS.parametersListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
103 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
104 self.returnTypesTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
105 TemplatesListsStyleCSS.returnTypesTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
106 self.yieldsTemplate = TemplatesListsStyleCSS.yieldsTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
107 self.yieldTypesTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
108 TemplatesListsStyleCSS.yieldTypesTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
109 self.exceptionsListTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
110 TemplatesListsStyleCSS.exceptionsListTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
111 self.exceptionsListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
112 TemplatesListsStyleCSS.exceptionsListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
113 self.signalsListTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
114 TemplatesListsStyleCSS.signalsListTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
115 self.signalsListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
116 TemplatesListsStyleCSS.signalsListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
117 self.eventsListTemplate = TemplatesListsStyleCSS.eventsListTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
118 self.eventsListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
119 TemplatesListsStyleCSS.eventsListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
120 self.deprecatedTemplate = TemplatesListsStyleCSS.deprecatedTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
121 self.authorInfoTemplate = TemplatesListsStyleCSS.authorInfoTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
122 self.seeListTemplate = TemplatesListsStyleCSS.seeListTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
123 self.seeListEntryTemplate = (
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
124 TemplatesListsStyleCSS.seeListEntryTemplate)
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
125 self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
126 self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
128 self.keywords = []
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
129 # list of tuples containing the name (string) and
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
130 # the ref (string). The ref is without the filename part.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.generated = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 def isEmpty(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
135 Public method to determine, if the module contains any classes or
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
136 functions.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @return Flag indicating an empty module (i.e. __init__.py without
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 any contents)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 return self.empty
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 def name(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 Public method used to get the module name.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 @return The name of the module. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 return self.module.name
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 def description(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 Public method used to get the description of the module.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 @return The description of the module. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 return self.__formatDescription(self.module.description)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 def shortDescription(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 Public method used to get the short description of the module.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 The short description is just the first line of the modules
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 description.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 @return The short description of the module. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 return self.__getShortDescription(self.module.description)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 def genDocument(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 Public method to generate the source code documentation.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 @return The source code documentation. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 """
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
176 doc = (
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
177 self.headerTemplate.format(
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
178 **{'Title': self.module.name}
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
179 ) +
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
180 self.__genModuleSection() +
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
181 self.footerTemplate
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
182 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 self.generated = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 return doc
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 def __genModuleSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 Private method to generate the body of the document.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 @return The body of the document. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 globalsList = self.__genGlobalsListSection()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 classList = self.__genClassListSection()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 functionList = self.__genFunctionListSection()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 if self.module.type == RB_SOURCE:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 rbModulesList = self.__genRbModulesListSection()
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
198 modBody = self.rbFileTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
199 **{'Module': self.module.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
200 'ModuleDescription':
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 self.__formatDescription(self.module.description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
202 'GlobalsList': globalsList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
203 'ClassList': classList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
204 'RbModulesList': rbModulesList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
205 'FunctionList': functionList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
206 })
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 else:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
208 modBody = self.moduleTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
209 **{'Module': self.module.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
210 'ModuleDescription':
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 self.__formatDescription(self.module.description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
212 'GlobalsList': globalsList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
213 'ClassList': classList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
214 'FunctionList': functionList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
215 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
216 except TagError as e:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
217 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
218 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
219 sys.stderr.write(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
220 "Error in tags of description of module {0}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
221 self.module.name))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
222 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 return ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 classesSection = self.__genClassesSection()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 functionsSection = self.__genFunctionsSection()
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
227 rbModulesSection = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
228 self.__genRbModulesSection()
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
229 if self.module.type == RB_SOURCE else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
230 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
231 )
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
232 return "{0}{1}{2}{3}".format(
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
233 modBody, classesSection, rbModulesSection, functionsSection)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
235 def __genListSection(self, names, sectionDict, kwSuffix=""):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 Private method to generate a list section of the document.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 @param names The names to appear in the list. (list of strings)
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
240 @param sectionDict dictionary containing all relevant information
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
241 (dict)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 @param kwSuffix suffix to be used for the QtHelp keywords (string)
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
243 @return list section (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 lst = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 for name in names:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
247 lst.append(self.listEntryTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
248 **{'Link': "{0}".format(name),
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
249 'Name': sectionDict[name].name,
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
250 'Description':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
251 self.__getShortDescription(sectionDict[name].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
252 'Deprecated':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
253 self.__checkDeprecated(sectionDict[name].description) and
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 self.listEntryDeprecatedTemplate or "",
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
255 }))
8230
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
256 n = ("{0} ({1})".format(name, kwSuffix) if kwSuffix
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
257 else "{0}".format(name))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
258 self.keywords.append((n, "#{0}".format(name)))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
261 def __genGlobalsListSection(self, class_=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 Private method to generate the section listing all global attributes of
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 the module.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 @param class_ reference to a class object (Class)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 @return The globals list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 """
766
0940de08fa75 Modified module parser to flag PyQt signal definitions and the module documentor to exclude these from the list of attributes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
269 attrNames = []
8230
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
270 scope = class_ if class_ is not None else self.module
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
271 attrNames = sorted(attr for attr in scope.globals.keys()
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
272 if not scope.globals[attr].isSignal)
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
273 s = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
274 ''.join(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
275 [self.listEntrySimpleTemplate.format(**{'Name': name})
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
276 for name in attrNames])
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
277 if attrNames else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
278 self.listEntryNoneTemplate
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
279 )
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
280 return self.listTemplate.format(**{'Entries': s})
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 def __genClassListSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
284 Private method to generate the section listing all classes of the
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
285 module.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 @return The classes list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
289 names = sorted(list(self.module.classes.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 if names:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 self.empty = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 s = self.__genListSection(names, self.module.classes)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 s = self.listEntryNoneTemplate
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
295 return self.listTemplate.format(**{'Entries': s})
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 def __genRbModulesListSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
299 Private method to generate the section listing all modules of the file
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 (Ruby only).
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 @return The modules list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
304 names = sorted(list(self.module.modules.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 if names:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 self.empty = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 s = self.__genListSection(names, self.module.modules)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 s = self.listEntryNoneTemplate
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
310 return self.listTemplate.format(**{'Entries': s})
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 def __genFunctionListSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
314 Private method to generate the section listing all functions of the
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
315 module.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 @return The functions list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
319 names = sorted(list(self.module.functions.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 if names:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 self.empty = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 s = self.__genListSection(names, self.module.functions)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 s = self.listEntryNoneTemplate
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
325 return self.listTemplate.format(**{'Entries': s})
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 def __genClassesSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
329 Private method to generate the document section with details about
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
330 classes.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 @return The classes details section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
334 classNames = sorted(list(self.module.classes.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 classes = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 for className in classNames:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 _class = self.module.classes[className]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 supers = _class.super
8230
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
339 supers = ', '.join(supers) if len(supers) > 0 else "None"
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 globalsList = self.__genGlobalsListSection(_class)
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
342 classMethList, classMethBodies = self.__genMethodSection(
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
343 _class, className, Function.Class)
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
344 methList, methBodies = self.__genMethodSection(
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
345 _class, className, Function.General)
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
346 staticMethList, staticMethBodies = self.__genMethodSection(
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
347 _class, className, Function.Static)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
350 clsBody = self.classTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
351 **{'Anchor': className,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
352 'Class': _class.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
353 'ClassSuper': supers,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
354 'ClassDescription':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
355 self.__formatDescription(_class.description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
356 'GlobalsList': globalsList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
357 'ClassMethodList': classMethList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
358 'MethodList': methList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
359 'StaticMethodList': staticMethList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
360 'MethodDetails':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
361 classMethBodies + methBodies + staticMethBodies,
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
362 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
363 except TagError as e:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
364 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
365 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
366 sys.stderr.write(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
367 "Error in tags of description of class {0}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
368 className))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
369 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 clsBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 classes.append(clsBody)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 return ''.join(classes)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
376 def __genMethodsListSection(self, names, sectionDict, className, clsName,
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
377 includeInit=True):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 Private method to generate the methods list section of a class.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
381 @param names names to appear in the list (list of strings)
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
382 @param sectionDict dictionary containing all relevant information
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
383 (dict)
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
384 @param className class name containing the names
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
385 @param clsName visible class name containing the names
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
386 @param includeInit flag indicating to include the __init__ method
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
387 (boolean)
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
388 @return methods list section (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 lst = []
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
391 if includeInit:
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8230
diff changeset
392 with contextlib.suppress(KeyError):
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
393 lst.append(self.listEntryTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
394 **{'Link': "{0}.{1}".format(className, '__init__'),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
395 'Name': clsName,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
396 'Description': self.__getShortDescription(
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
397 sectionDict['__init__'].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
398 'Deprecated': self.__checkDeprecated(
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
399 sectionDict['__init__'].description) and
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
400 self.listEntryDeprecatedTemplate or "",
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
401 }))
2991
226481ff40d1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2989
diff changeset
402 self.keywords.append(
226481ff40d1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2989
diff changeset
403 ("{0} (Constructor)".format(className),
226481ff40d1 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2989
diff changeset
404 "#{0}.{1}".format(className, '__init__')))
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
405
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 for name in names:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
407 lst.append(self.listEntryTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
408 **{'Link': "{0}.{1}".format(className, name),
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
409 'Name': sectionDict[name].name,
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
410 'Description':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
411 self.__getShortDescription(sectionDict[name].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
412 'Deprecated':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
413 self.__checkDeprecated(sectionDict[name].description) and
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
414 self.listEntryDeprecatedTemplate or "",
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
415 }))
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
416 self.keywords.append(("{0}.{1}".format(className, name),
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
417 "#{0}.{1}".format(className, name)))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
420 def __genMethodSection(self, obj, className, modifierFilter):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 Private method to generate the method details section.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
424 @param obj reference to the object being formatted
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
425 @param className name of the class containing the method (string)
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
426 @param modifierFilter filter value designating the method types
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
427 @return method list and method details section (tuple of two string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 methList = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 methBodies = []
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
431 methods = sorted(k for k in obj.methods.keys()
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
432 if obj.methods[k].modifier == modifierFilter)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 if '__init__' in methods:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 methods.remove('__init__')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
436 methBody = self.constructorTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
437 **{'Anchor': className,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
438 'Class': obj.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
439 'Method': '__init__',
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
440 'MethodDescription':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
441 self.__formatDescription(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
442 obj.methods['__init__'].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
443 'Params':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
444 ', '.join(obj.methods['__init__'].parameters[1:]),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
445 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
446 except TagError as e:
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
447 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
448 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
449 sys.stderr.write(
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
450 "Error in tags of description of method {0}.{1}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
451 className, '__init__'))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
452 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 methBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 methBodies.append(methBody)
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
455
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
456 if modifierFilter == Function.Class:
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
457 methodClassifier = " (class method)"
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
458 elif modifierFilter == Function.Static:
1227
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
459 methodClassifier = " (static)"
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
460 else:
c5db073a124f Added support for class attributes, class methods and static methods to the class browsers and the source documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
461 methodClassifier = ""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 for method in methods:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
464 methBody = self.methodTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
465 **{'Anchor': className,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
466 'Class': obj.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
467 'Method': obj.methods[method].name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
468 'MethodClassifier': methodClassifier,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
469 'MethodDescription':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
470 self.__formatDescription(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
471 obj.methods[method].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
472 'Params': ', '.join(obj.methods[method].parameters[1:]),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
473 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
474 except TagError as e:
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
475 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
476 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
477 sys.stderr.write(
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
478 "Error in tags of description of method {0}.{1}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
479 className, method))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
480 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 methBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 methBodies.append(methBody)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483
3021
801289962f4e Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2991
diff changeset
484 methList = self.__genMethodsListSection(
801289962f4e Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2991
diff changeset
485 methods, obj.methods, className, obj.name,
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
486 includeInit=modifierFilter == Function.General)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 if not methList:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 methList = self.listEntryNoneTemplate
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
490 return (self.listTemplate.format(**{'Entries': methList}),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
491 ''.join(methBodies))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493 def __genRbModulesSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
495 Private method to generate the document section with details about
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
496 Ruby modules.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 @return The Ruby modules details section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
500 rbModulesNames = sorted(list(self.module.modules.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 rbModules = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 for rbModuleName in rbModulesNames:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 rbModule = self.module.modules[rbModuleName]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 globalsList = self.__genGlobalsListSection(rbModule)
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
505 methList, methBodies = self.__genMethodSection(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
506 rbModule, rbModuleName, Function.General)
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
507 classList, classBodies = self.__genRbModulesClassesSection(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
508 rbModule, rbModuleName)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
511 rbmBody = self.rbModuleTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
512 **{'Anchor': rbModuleName,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
513 'Module': rbModule.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
514 'ModuleDescription':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
515 self.__formatDescription(rbModule.description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
516 'GlobalsList': globalsList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
517 'ClassesList': classList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
518 'ClassesDetails': classBodies,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
519 'FunctionsList': methList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
520 'FunctionsDetails': methBodies,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
521 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
522 except TagError as e:
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
523 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
524 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
525 sys.stderr.write(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
526 "Error in tags of description of Ruby module {0}.\n"
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
527 .format(rbModuleName))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
528 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 rbmBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 rbModules.append(rbmBody)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 return ''.join(rbModules)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 def __genRbModulesClassesSection(self, obj, modName):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 Private method to generate the Ruby module classes details section.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 @param obj Reference to the object being formatted.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 @param modName Name of the Ruby module containing the classes. (string)
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
541 @return The classes list and classes details section.
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
542 (tuple of two string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 """
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
544 classNames = sorted(list(obj.classes.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 classes = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 for className in classNames:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 _class = obj.classes[className]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 supers = _class.super
8230
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
549 supers = ', '.join(supers) if len(supers) > 0 else "None"
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
551 methList, methBodies = self.__genMethodSection(
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
552 _class, className, Function.General)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
555 clsBody = self.rbModulesClassTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
556 **{'Anchor': className,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
557 'Class': _class.name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
558 'ClassSuper': supers,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
559 'ClassDescription':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
560 self.__formatDescription(_class.description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
561 'MethodList': methList,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
562 'MethodDetails': methBodies,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
563 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
564 except TagError as e:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
565 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
566 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
567 sys.stderr.write(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
568 "Error in tags of description of class {0}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
569 className))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
570 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 clsBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 classes.append(clsBody)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
575 classesList = self.__genRbModulesClassesListSection(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
576 classNames, obj.classes, modName)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 if not classesList:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 classesList = self.listEntryNoneTemplate
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
580 return (self.listTemplate.format(**{'Entries': classesList}),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
581 ''.join(classes))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
583 def __genRbModulesClassesListSection(self, names, sectionDict, moduleName):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 Private method to generate the classes list section of a Ruby module.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 @param names The names to appear in the list. (list of strings)
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
588 @param sectionDict dictionary containing all relevant information
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
589 (dict)
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
590 @param moduleName name of the Ruby module containing the classes
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
591 (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 @return The list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 lst = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 for name in names:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
596 lst.append(self.listEntryTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
597 **{'Link': "{0}.{1}".format(moduleName, name),
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
598 'Name': sectionDict[name].name,
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
599 'Description':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
600 self.__getShortDescription(sectionDict[name].description),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
601 'Deprecated':
5587
ea526b78ee6c Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
602 self.__checkDeprecated(sectionDict[name].description) and
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
603 self.listEntryDeprecatedTemplate or "",
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
604 }))
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
605 self.keywords.append(("{0}.{1}".format(moduleName, name),
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
606 "#{0}.{1}".format(moduleName, name)))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 def __genFunctionsSection(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
611 Private method to generate the document section with details about
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
612 functions.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614 @return The functions details section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 funcBodies = []
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
617 funcNames = sorted(list(self.module.functions.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 for funcName in funcNames:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 try:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
620 funcBody = self.functionTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
621 **{'Anchor': funcName,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
622 'Function': self.module.functions[funcName].name,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
623 'FunctionDescription': self.__formatDescription(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
624 self.module.functions[funcName].description),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
625 'Params':
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
626 ', '.join(self.module.functions[funcName].parameters),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
627 })
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
628 except TagError as e:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
629 sys.stderr.write(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
630 "Error processing {0}.\n".format(self.module.file))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
631 sys.stderr.write(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
632 "Error in tags of description of function {0}.\n".format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
633 funcName))
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
634 sys.stderr.write("{0}\n".format(e))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 funcBody = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 funcBodies.append(funcBody)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 return ''.join(funcBodies)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 def __getShortDescription(self, desc):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 Private method to determine the short description of an object.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 The short description is just the first non empty line of the
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 documentation string.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 @param desc The documentation string. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 @return The short description. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651 dlist = desc.splitlines()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652 sdlist = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
653 descfound = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
654 for desc in dlist:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 desc = desc.strip()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656 if desc:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657 descfound = 1
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 dotpos = desc.find('.')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 if dotpos == -1:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 sdlist.append(desc.strip())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 else:
7252
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
662 while (
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
663 dotpos + 1 < len(desc) and
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
664 not desc[dotpos + 1].isspace()
c5e3705073eb Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
665 ):
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
666 # don't recognize '.' inside a number or word as
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
667 # stop condition
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
668 dotpos = desc.find('.', dotpos + 1)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
669 if dotpos == -1:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
670 break
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
671 if dotpos == -1:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 sdlist.append(desc.strip())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
673 else:
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
674 sdlist.append(desc[:dotpos + 1].strip())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 break # break if a '.' is found
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 if descfound:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 break # break if an empty line is found
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 if sdlist:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 return html_uencode(' '.join(sdlist))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682 return ''
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 def __checkDeprecated(self, descr):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
685 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
686 Private method to check, if the object to be documented contains a
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687 deprecated flag.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688
2953
703452a2876f Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2401
diff changeset
689 @param descr documentation string (string)
703452a2876f Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2401
diff changeset
690 @return flag indicating the deprecation status (boolean)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 dlist = descr.splitlines()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 for desc in dlist:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 desc = desc.strip()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 if desc.startswith("@deprecated"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 return True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 return False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 def __genParagraphs(self, lines):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 Private method to assemble the descriptive paragraphs of a docstring.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 A paragraph is made up of a number of consecutive lines without
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 an intermediate empty line. Empty lines are treated as a paragraph
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 delimiter.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 @param lines A list of individual lines. (list of strings)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 @return Ready formatted paragraphs. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 lst = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 linelist = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 for line in lines:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 if line.strip():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 if line == '.':
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 linelist.append("")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 linelist.append(html_uencode(line))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 else:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
719 lst.append(self.paragraphTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
720 **{'Lines': '\n'.join(linelist)}))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 linelist = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 if linelist:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
723 lst.append(self.paragraphTemplate.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
724 **{'Lines': '\n'.join(linelist)}))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 def __genDescriptionListSection(self, dictionary, template):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 Private method to generate the list section of a description.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 @param dictionary Dictionary containing the info for the
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 list section.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 @param template The template to be used for the list. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734 @return The list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 lst = []
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
737 keys = sorted(list(dictionary.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 for key in keys:
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
739 lst.append(template.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
740 **{'Name': key,
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
741 'Description': html_uencode('\n'.join(dictionary[key])),
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
742 }))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
745 def __genParamDescriptionListSection(self, _list):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 Private method to generate the list section of a description.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
749 @param _list list containing the info for the parameter description
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
750 list section (list of lists with three elements)
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
751 @return formatted list section (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 lst = []
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
754 for name, type_, lines in _list:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
755 if type_:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
756 lst.append(self.parameterTypesListEntryTemplate.format(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
757 **{'Name': name,
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
758 'Type': type_,
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
759 'Description': html_uencode('\n'.join(lines)),
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
760 }))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
761 else:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
762 lst.append(self.parametersListEntryTemplate.format(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
763 **{'Name': name,
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
764 'Description': html_uencode('\n'.join(lines)),
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
765 }))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 return ''.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 def __formatCrossReferenceEntry(self, entry):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 Private method to format a cross reference entry.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 This cross reference entry looks like "package.module#member label".
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 @param entry the entry to be formatted (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 @return formatted entry (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 if entry.startswith('"'):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 return entry
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779 elif entry.startswith('<'):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 entry = entry[3:]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 reference, label = entry.split(None, 1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 except ValueError:
96
9624a110667d Started to clean up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
785 reference = entry
9624a110667d Started to clean up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
786 label = entry
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 path, anchor = reference.split('#', 1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 except ValueError:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790 path = reference
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 anchor = ''
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
792 reference = path and "{0}.html".format(path) or ''
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 if anchor:
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
794 reference = "{0}#{1}".format(reference, anchor)
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
795 entry = 'href="{0}">{1}</a>'.format(reference, label)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
797 return self.seeLinkTemplate.format(**{'Link': entry})
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
798
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 def __genSeeListSection(self, _list, template):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800 """
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
801 Private method to generate the "see also" list section of a
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
802 description.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
804 @param _list List containing the info for the section.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
805 @param template The template to be used for the list. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
806 @return The list section. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
807 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808 lst = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
809 for seeEntry in _list:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 seeEntryString = ''.join(seeEntry)
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
811 lst.append(template.format(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
812 **{'Link': html_uencode(self.__formatCrossReferenceEntry(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
813 seeEntryString)),
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
814 }))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 return '\n'.join(lst)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 def __processInlineTags(self, desc):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 Private method to process inline tags.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 @param desc One line of the description (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 @return processed line with inline tags expanded (string)
2953
703452a2876f Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2401
diff changeset
823 @exception TagError raised to indicate an invalid tag
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 start = desc.find('{@')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 while start != -1:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 stop = desc.find('}', start + 2)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 if stop == -1:
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
829 raise TagError("Unterminated inline tag.\n{0}".format(desc))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831 tagText = desc[start + 1:stop]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 if tagText.startswith('@link'):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 parts = tagText.split(None, 1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
835 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
836 "Wrong format in inline tag {0}.\n{1}".format(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
837 parts[0], desc))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 formattedTag = self.__formatCrossReferenceEntry(parts[1])
406
eacf81fad150 Started converting the string formatting stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
840 desc = desc.replace("{{{0}}}".format(tagText), formattedTag)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 tag = tagText.split(None, 1)[0]
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
843 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
844 "Unknown inline tag encountered, {0}.\n{1}".format(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
845 tag, desc))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 start = desc.find('{@')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
848
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849 return desc
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
850
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851 def __formatDescription(self, descr):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853 Private method to format the contents of the documentation string.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855 @param descr The contents of the documentation string. (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 @exception TagError A tag doesn't have the correct number
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857 of arguments.
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
858 @return The formatted contents of the documentation string. (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860 if not descr:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861 return ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 paragraphs = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 paramList = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865 returns = []
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
866 returnTypes = []
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
867 yields = []
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
868 yieldTypes = []
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 exceptionDict = {}
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
870 signalDict = {}
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 eventDict = {}
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872 deprecated = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 authorInfo = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 sinceInfo = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875 seeList = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 lastItem = paragraphs
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 inTagSection = False
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879 dlist = descr.splitlines()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880 while dlist and not dlist[0]:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
881 del dlist[0]
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
882 lastTag = ""
7888
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
883 buffer = ""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 for ditem in dlist:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 ditem = self.__processInlineTags(ditem)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886 desc = ditem.strip()
7888
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
887 if buffer:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
888 if desc.startswith("@"):
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
889 buffer = ""
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
890 raise TagError(
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
891 "Wrong format in {0} line.\n".format(lastTag))
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
892 else:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
893 desc = buffer + desc
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894 if desc:
2956
615dbd8a696a Extended the module documentor by a @ireturn tag to document the intended return value (e.g. in a base class defining an interface).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
895 if desc.startswith(("@param", "@keyparam")):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 parts = desc.split(None, 2)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
898 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
900 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
901 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 paramName = parts[1]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 if parts[0] == "@keyparam":
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 paramName += '='
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905 try:
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
906 paramList.append([paramName, "", [parts[2]]])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 except IndexError:
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
908 paramList.append([paramName, "", []])
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
909 lastItem = paramList[-1][2]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
910 elif desc.startswith("@type"):
4667
77050ebbdb20 Fixed an issue in the module documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
911 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
912 if lastTag not in ["@param", "@keyparam"]:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
913 raise TagError(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
914 "{0} line must be preceded by a parameter line\n"
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
915 .format(parts[0]))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
916 inTagSection = True
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
917 lastTag = parts[0]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
918 if len(parts) < 2:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
919 raise TagError(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
920 "Wrong format in {0} line.\n".format(parts[0]))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
921 paramList[-1][1] = parts[1]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
922 elif desc.startswith("@ptype"):
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
923 inTagSection = True
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
924 parts = desc.split(None, 2)
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
925 lastTag = parts[0]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
926 if len(parts) < 3:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
927 raise TagError(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
928 "Wrong format in {0} line.\n".format(parts[0]))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
929 param, type_ = parts[1:]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
930 for index in range(len(paramList)):
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
931 if paramList[index][0] == param:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
932 paramList[index][1] = type_
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
933 break
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
934 else:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
935 raise TagError(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
936 "Unknow parameter name '{0}' in {1} line.\n"
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
937 .format(param, parts[0]))
2956
615dbd8a696a Extended the module documentor by a @ireturn tag to document the intended return value (e.g. in a base class defining an interface).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
938 elif desc.startswith(("@return", "@ireturn")):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
941 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
943 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
944 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 returns = [parts[1]]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 lastItem = returns
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
947 elif desc.startswith("@rtype"):
4667
77050ebbdb20 Fixed an issue in the module documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
948 parts = desc.split(None, 1)
77050ebbdb20 Fixed an issue in the module documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
949 if lastTag not in ["@return", "@ireturn"]:
77050ebbdb20 Fixed an issue in the module documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
950 raise TagError(
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
951 "{0} line must be preceded by a @return line\n"
4667
77050ebbdb20 Fixed an issue in the module documentor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
952 .format(parts[0]))
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
953 inTagSection = True
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
954 lastTag = parts[0]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
955 if len(parts) < 2:
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
956 raise TagError(
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
957 "Wrong format in {0} line.\n".format(parts[0]))
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
958 returnTypes = [parts[1]]
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
959 lastItem = returnTypes
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
960 elif desc.startswith("@yield"):
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
961 inTagSection = True
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
962 parts = desc.split(None, 1)
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
963 lastTag = parts[0]
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
964 if len(parts) < 2:
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
965 raise TagError(
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
966 "Wrong format in {0} line.\n".format(parts[0]))
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
967 yields = [parts[1]]
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
968 lastItem = yields
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
969 elif desc.startswith("@ytype"):
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
970 parts = desc.split(None, 1)
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
971 if lastTag != "@yield":
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
972 raise TagError(
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
973 "{0} line must be preceded by a @yield line\n"
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
974 .format(parts[0]))
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
975 inTagSection = True
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
976 lastTag = parts[0]
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
977 if len(parts) < 2:
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
978 raise TagError(
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
979 "Wrong format in {0} line.\n".format(parts[0]))
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
980 yieldTypes = [parts[1]]
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
981 lastItem = yieldTypes
2956
615dbd8a696a Extended the module documentor by a @ireturn tag to document the intended return value (e.g. in a base class defining an interface).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
982 elif desc.startswith(("@exception", "@throws", "@raise")):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
983 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
984 parts = desc.split(None, 2)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
985 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
986 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
987 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
988 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
989 excName = parts[1]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
990 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
991 exceptionDict[excName] = [parts[2]]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
992 except IndexError:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
993 exceptionDict[excName] = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
994 lastItem = exceptionDict[excName]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
995 elif desc.startswith("@signal"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
996 inTagSection = True
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
997 lastTag = desc.split(None, 1)[0]
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
998 m = _signal(desc, 0)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
999 if m is None:
7888
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1000 buffer = desc
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1001 else:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1002 buffer = ""
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1003 signalName = (
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1004 m.group("SignalName1") or m.group("SignalName2")
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1005 )
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1006 signalDesc = (
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1007 m.group("SignalDescription1") or
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1008 m.group("SignalDescription2")
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1009 )
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1010 signalDict[signalName] = []
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1011 if signalDesc is not None:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1012 signalDict[signalName].append(signalDesc)
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1013 lastItem = signalDict[signalName]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1014 elif desc.startswith("@event"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1015 inTagSection = True
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1016 lastTag = desc.split(None, 1)[0]
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
1017 m = _event(desc, 0)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1018 if m is None:
7888
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1019 buffer = desc
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1020 else:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1021 buffer = ""
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1022 eventName = (
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1023 m.group("EventName1") or m.group("EventName2")
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1024 )
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1025 eventDesc = (
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1026 m.group("EventDescription1") or
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1027 m.group("EventDescription2")
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1028 )
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1029 eventDict[eventName] = []
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1030 if eventDesc is not None:
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1031 eventDict[eventName].append(eventDesc)
803f811dc466 ModuleDocumentor: fixed an issue parsing long @signal or @event definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
1032 lastItem = eventDict[eventName]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1033 elif desc.startswith("@deprecated"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1034 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1035 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1036 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1037 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1038 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1039 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1040 deprecated = [parts[1]]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1041 lastItem = deprecated
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1042 elif desc.startswith("@author"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1043 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1044 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1045 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1046 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1047 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1048 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1049 authorInfo = [parts[1]]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1050 lastItem = authorInfo
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1051 elif desc.startswith("@since"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1052 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1053 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1054 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1055 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1056 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1057 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1058 sinceInfo = [parts[1]]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1059 lastItem = sinceInfo
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1060 elif desc.startswith("@see"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1061 inTagSection = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1062 parts = desc.split(None, 1)
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1063 lastTag = parts[0]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1064 if len(parts) < 2:
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1065 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1066 "Wrong format in {0} line.\n".format(parts[0]))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1067 seeList.append([parts[1]])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1068 lastItem = seeList[-1]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1069 elif desc.startswith("@@"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1070 lastItem.append(desc[1:])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1071 elif desc.startswith("@"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1072 tag = desc.split(None, 1)[0]
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1073 raise TagError(
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1074 "Unknown tag encountered, {0}.\n".format(tag))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1075 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1076 lastItem.append(ditem)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1077 elif not inTagSection:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1078 lastItem.append(ditem)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1079
8230
8b5c6896655b Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8207
diff changeset
1080 description = self.__genParagraphs(paragraphs) if paragraphs else ""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1081
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1082 parameterSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1083 self.parametersListTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1084 **{'Parameters': self.__genParamDescriptionListSection(
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1085 paramList)})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1086 if paramList else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1087 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1088 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1089
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1090 returnSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1091 self.returnsTemplate.format(
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1092 html_uencode('\n'.join(returns)))
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1093 if returns else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1094 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1095 )
4267
94496d77156b Added tags to describe the type of parameters (@type, @ptype) and return values (@rtype).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
1096
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1097 returnTypesSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1098 self.returnTypesTemplate.format(
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1099 html_uencode('\n'.join(returnTypes)))
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1100 if returnTypes else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1101 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1102 )
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1103
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1104 yieldSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1105 self.yieldsTemplate.format(
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1106 html_uencode('\n'.join(yields)))
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1107 if yields else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1108 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1109 )
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1110
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1111 yieldTypesSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1112 self.yieldTypesTemplate.format(
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1113 html_uencode('\n'.join(yieldTypes)))
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1114 if yieldTypes else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1115 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1116 )
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1117
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1118 exceptionSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1119 self.exceptionsListTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1120 **{'Exceptions': self.__genDescriptionListSection(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1121 exceptionDict, self.exceptionsListEntryTemplate)})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1122 if exceptionDict else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1123 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1124 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1126 signalSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1127 self.signalsListTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1128 **{'Signals': self.__genDescriptionListSection(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1129 signalDict, self.signalsListEntryTemplate)})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1130 if signalDict else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1131 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1132 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1134 eventSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1135 self.eventsListTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1136 **{'Events': self.__genDescriptionListSection(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1137 eventDict, self.eventsListEntryTemplate)})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1138 if eventDict else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1139 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1140 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1141
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1142 deprecatedSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1143 self.deprecatedTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1144 **{'Lines': html_uencode('\n'.join(deprecated))})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1145 if deprecated else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1146 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1147 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1148
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1149 authorInfoSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1150 self.authorInfoTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1151 **{'Authors': html_uencode('\n'.join(authorInfo))})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1152 if authorInfo else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1153 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1154 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1155
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1156 sinceInfoSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1157 self.sinceInfoTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1158 **{'Info': html_uencode(sinceInfo[0])})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1159 if sinceInfo else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1160 ""
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1161 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1162
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1163 seeSect = (
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1164 self.seeListTemplate.format(
3033
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1165 **{'Links': self.__genSeeListSection(
58fe260e7469 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3021
diff changeset
1166 seeList, self.seeListEntryTemplate)})
8257
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1167 if seeList else
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1168 ''
28146736bbfc Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
1169 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1170
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1171 return "".join([
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1172 deprecatedSect, description, parameterSect, returnSect,
7987
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1173 returnTypesSect, yieldSect, yieldTypesSect, exceptionSect,
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1174 signalSect, eventSect, authorInfoSect, seeSect, sinceInfoSect,
e8eb8370ea94 Source code documentation generator, doc checker: added support for @yield and @ytype.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
1175 ])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1176
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1177 def getQtHelpKeywords(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1178 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1179 Public method to retrieve the parts for the QtHelp keywords section.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1180
2989
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1181 @return list of tuples containing the name (string) and the ref
7efa8b8b6903 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2956
diff changeset
1182 (string). The ref is without the filename part.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1183 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1184 if not self.generated:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1185 self.genDocument()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1186
766
0940de08fa75 Modified module parser to flag PyQt signal definitions and the module documentor to exclude these from the list of attributes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
1187 return self.keywords

eric ide

mercurial