eric6/DocumentationTools/ModuleDocumentor.py

changeset 7987
e8eb8370ea94
parent 7923
91e843545d9a
child 8043
0acf98cd089a
child 8207
d359172d11be
equal deleted inserted replaced
7986:2971d5d19951 7987:e8eb8370ea94
103 self.parametersListEntryTemplate = ( 103 self.parametersListEntryTemplate = (
104 TemplatesListsStyleCSS.parametersListEntryTemplate) 104 TemplatesListsStyleCSS.parametersListEntryTemplate)
105 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate 105 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate
106 self.returnTypesTemplate = ( 106 self.returnTypesTemplate = (
107 TemplatesListsStyleCSS.returnTypesTemplate) 107 TemplatesListsStyleCSS.returnTypesTemplate)
108 self.yieldsTemplate = TemplatesListsStyleCSS.yieldsTemplate
109 self.yieldTypesTemplate = (
110 TemplatesListsStyleCSS.yieldTypesTemplate)
108 self.exceptionsListTemplate = ( 111 self.exceptionsListTemplate = (
109 TemplatesListsStyleCSS.exceptionsListTemplate) 112 TemplatesListsStyleCSS.exceptionsListTemplate)
110 self.exceptionsListEntryTemplate = ( 113 self.exceptionsListEntryTemplate = (
111 TemplatesListsStyleCSS.exceptionsListEntryTemplate) 114 TemplatesListsStyleCSS.exceptionsListEntryTemplate)
112 self.signalsListTemplate = ( 115 self.signalsListTemplate = (
168 **colors)) 171 **colors))
169 self.returnsTemplate = ( 172 self.returnsTemplate = (
170 TemplatesListsStyle.returnsTemplate.format(**colors)) 173 TemplatesListsStyle.returnsTemplate.format(**colors))
171 self.returnTypesTemplate = ( 174 self.returnTypesTemplate = (
172 TemplatesListsStyle.returnTypesTemplate.format(**colors)) 175 TemplatesListsStyle.returnTypesTemplate.format(**colors))
176 self.yieldsTemplate = (
177 TemplatesListsStyle.yieldsTemplate.format(**colors))
178 self.yieldTypesTemplate = (
179 TemplatesListsStyle.yieldTypesTemplate.format(**colors))
173 self.exceptionsListTemplate = ( 180 self.exceptionsListTemplate = (
174 TemplatesListsStyle.exceptionsListTemplate.format(**colors)) 181 TemplatesListsStyle.exceptionsListTemplate.format(**colors))
175 self.exceptionsListEntryTemplate = ( 182 self.exceptionsListEntryTemplate = (
176 TemplatesListsStyle.exceptionsListEntryTemplate.format( 183 TemplatesListsStyle.exceptionsListEntryTemplate.format(
177 **colors)) 184 **colors))
936 Private method to format the contents of the documentation string. 943 Private method to format the contents of the documentation string.
937 944
938 @param descr The contents of the documentation string. (string) 945 @param descr The contents of the documentation string. (string)
939 @exception TagError A tag doesn't have the correct number 946 @exception TagError A tag doesn't have the correct number
940 of arguments. 947 of arguments.
941 @return The formated contents of the documentation string. (string) 948 @return The formatted contents of the documentation string. (string)
942 """ 949 """
943 if not descr: 950 if not descr:
944 return "" 951 return ""
945 952
946 paragraphs = [] 953 paragraphs = []
947 paramList = [] 954 paramList = []
948 returns = [] 955 returns = []
949 returnTypes = [] 956 returnTypes = []
957 yields = []
958 yieldTypes = []
950 exceptionDict = {} 959 exceptionDict = {}
951 signalDict = {} 960 signalDict = {}
952 eventDict = {} 961 eventDict = {}
953 deprecated = [] 962 deprecated = []
954 authorInfo = [] 963 authorInfo = []
1027 lastItem = returns 1036 lastItem = returns
1028 elif desc.startswith("@rtype"): 1037 elif desc.startswith("@rtype"):
1029 parts = desc.split(None, 1) 1038 parts = desc.split(None, 1)
1030 if lastTag not in ["@return", "@ireturn"]: 1039 if lastTag not in ["@return", "@ireturn"]:
1031 raise TagError( 1040 raise TagError(
1032 "{0} line must be preceded by a return line\n" 1041 "{0} line must be preceded by a @return line\n"
1033 .format(parts[0])) 1042 .format(parts[0]))
1034 inTagSection = True 1043 inTagSection = True
1035 lastTag = parts[0] 1044 lastTag = parts[0]
1036 if len(parts) < 2: 1045 if len(parts) < 2:
1037 raise TagError( 1046 raise TagError(
1038 "Wrong format in {0} line.\n".format(parts[0])) 1047 "Wrong format in {0} line.\n".format(parts[0]))
1039 returnTypes = [parts[1]] 1048 returnTypes = [parts[1]]
1040 lastItem = returnTypes 1049 lastItem = returnTypes
1050 elif desc.startswith("@yield"):
1051 inTagSection = True
1052 parts = desc.split(None, 1)
1053 lastTag = parts[0]
1054 if len(parts) < 2:
1055 raise TagError(
1056 "Wrong format in {0} line.\n".format(parts[0]))
1057 yields = [parts[1]]
1058 lastItem = yields
1059 elif desc.startswith("@ytype"):
1060 parts = desc.split(None, 1)
1061 if lastTag != "@yield":
1062 raise TagError(
1063 "{0} line must be preceded by a @yield line\n"
1064 .format(parts[0]))
1065 inTagSection = True
1066 lastTag = parts[0]
1067 if len(parts) < 2:
1068 raise TagError(
1069 "Wrong format in {0} line.\n".format(parts[0]))
1070 yieldTypes = [parts[1]]
1071 lastItem = yieldTypes
1041 elif desc.startswith(("@exception", "@throws", "@raise")): 1072 elif desc.startswith(("@exception", "@throws", "@raise")):
1042 inTagSection = True 1073 inTagSection = True
1043 parts = desc.split(None, 2) 1074 parts = desc.split(None, 2)
1044 lastTag = parts[0] 1075 lastTag = parts[0]
1045 if len(parts) < 2: 1076 if len(parts) < 2:
1158 returnTypesSect = self.returnTypesTemplate.format( 1189 returnTypesSect = self.returnTypesTemplate.format(
1159 html_uencode('\n'.join(returnTypes))) 1190 html_uencode('\n'.join(returnTypes)))
1160 else: 1191 else:
1161 returnTypesSect = "" 1192 returnTypesSect = ""
1162 1193
1194 if yields:
1195 yieldSect = self.yieldsTemplate.format(
1196 html_uencode('\n'.join(yields)))
1197 else:
1198 yieldSect = ""
1199
1200 if yieldTypes:
1201 yieldTypesSect = self.yieldTypesTemplate.format(
1202 html_uencode('\n'.join(yieldTypes)))
1203 else:
1204 yieldTypesSect = ""
1205
1163 if exceptionDict: 1206 if exceptionDict:
1164 exceptionSect = self.exceptionsListTemplate.format( 1207 exceptionSect = self.exceptionsListTemplate.format(
1165 **{'Exceptions': self.__genDescriptionListSection( 1208 **{'Exceptions': self.__genDescriptionListSection(
1166 exceptionDict, self.exceptionsListEntryTemplate)}) 1209 exceptionDict, self.exceptionsListEntryTemplate)})
1167 else: 1210 else:
1204 **{'Links': self.__genSeeListSection( 1247 **{'Links': self.__genSeeListSection(
1205 seeList, self.seeListEntryTemplate)}) 1248 seeList, self.seeListEntryTemplate)})
1206 else: 1249 else:
1207 seeSect = '' 1250 seeSect = ''
1208 1251
1209 return "{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}".format( 1252 return "".join([
1210 deprecatedSect, description, parameterSect, returnSect, 1253 deprecatedSect, description, parameterSect, returnSect,
1211 returnTypesSect, exceptionSect, signalSect, eventSect, 1254 returnTypesSect, yieldSect, yieldTypesSect, exceptionSect,
1212 authorInfoSect, seeSect, sinceInfoSect, 1255 signalSect, eventSect, authorInfoSect, seeSect, sinceInfoSect,
1213 ) 1256 ])
1214 1257
1215 def getQtHelpKeywords(self): 1258 def getQtHelpKeywords(self):
1216 """ 1259 """
1217 Public method to retrieve the parts for the QtHelp keywords section. 1260 Public method to retrieve the parts for the QtHelp keywords section.
1218 1261

eric ide

mercurial