77 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate |
77 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate |
78 self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate |
78 self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate |
79 self.rbFileTemplate = TemplatesListsStyleCSS.rbFileTemplate |
79 self.rbFileTemplate = TemplatesListsStyleCSS.rbFileTemplate |
80 self.classTemplate = TemplatesListsStyleCSS.classTemplate |
80 self.classTemplate = TemplatesListsStyleCSS.classTemplate |
81 self.methodTemplate = TemplatesListsStyleCSS.methodTemplate |
81 self.methodTemplate = TemplatesListsStyleCSS.methodTemplate |
82 self.constructorTemplate = TemplatesListsStyleCSS.constructorTemplate |
82 self.constructorTemplate = \ |
|
83 TemplatesListsStyleCSS.constructorTemplate |
83 self.rbModuleTemplate = TemplatesListsStyleCSS.rbModuleTemplate |
84 self.rbModuleTemplate = TemplatesListsStyleCSS.rbModuleTemplate |
84 self.rbModulesClassTemplate = TemplatesListsStyleCSS.rbModulesClassTemplate |
85 self.rbModulesClassTemplate = \ |
|
86 TemplatesListsStyleCSS.rbModulesClassTemplate |
85 self.functionTemplate = TemplatesListsStyleCSS.functionTemplate |
87 self.functionTemplate = TemplatesListsStyleCSS.functionTemplate |
86 self.listTemplate = TemplatesListsStyleCSS.listTemplate |
88 self.listTemplate = TemplatesListsStyleCSS.listTemplate |
87 self.listEntryTemplate = TemplatesListsStyleCSS.listEntryTemplate |
89 self.listEntryTemplate = TemplatesListsStyleCSS.listEntryTemplate |
88 self.listEntryNoneTemplate = TemplatesListsStyleCSS.listEntryNoneTemplate |
90 self.listEntryNoneTemplate = \ |
|
91 TemplatesListsStyleCSS.listEntryNoneTemplate |
89 self.listEntryDeprecatedTemplate = \ |
92 self.listEntryDeprecatedTemplate = \ |
90 TemplatesListsStyleCSS.listEntryDeprecatedTemplate |
93 TemplatesListsStyleCSS.listEntryDeprecatedTemplate |
91 self.listEntrySimpleTemplate = TemplatesListsStyleCSS.listEntrySimpleTemplate |
94 self.listEntrySimpleTemplate = \ |
|
95 TemplatesListsStyleCSS.listEntrySimpleTemplate |
92 self.paragraphTemplate = TemplatesListsStyleCSS.paragraphTemplate |
96 self.paragraphTemplate = TemplatesListsStyleCSS.paragraphTemplate |
93 self.parametersListTemplate = TemplatesListsStyleCSS.parametersListTemplate |
97 self.parametersListTemplate = \ |
|
98 TemplatesListsStyleCSS.parametersListTemplate |
94 self.parametersListEntryTemplate = \ |
99 self.parametersListEntryTemplate = \ |
95 TemplatesListsStyleCSS.parametersListEntryTemplate |
100 TemplatesListsStyleCSS.parametersListEntryTemplate |
96 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate |
101 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate |
97 self.exceptionsListTemplate = TemplatesListsStyleCSS.exceptionsListTemplate |
102 self.exceptionsListTemplate = \ |
|
103 TemplatesListsStyleCSS.exceptionsListTemplate |
98 self.exceptionsListEntryTemplate = \ |
104 self.exceptionsListEntryTemplate = \ |
99 TemplatesListsStyleCSS.exceptionsListEntryTemplate |
105 TemplatesListsStyleCSS.exceptionsListEntryTemplate |
100 self.signalsListTemplate = TemplatesListsStyleCSS.signalsListTemplate |
106 self.signalsListTemplate = \ |
|
107 TemplatesListsStyleCSS.signalsListTemplate |
101 self.signalsListEntryTemplate = \ |
108 self.signalsListEntryTemplate = \ |
102 TemplatesListsStyleCSS.signalsListEntryTemplate |
109 TemplatesListsStyleCSS.signalsListEntryTemplate |
103 self.eventsListTemplate = TemplatesListsStyleCSS.eventsListTemplate |
110 self.eventsListTemplate = TemplatesListsStyleCSS.eventsListTemplate |
104 self.eventsListEntryTemplate = TemplatesListsStyleCSS.eventsListEntryTemplate |
111 self.eventsListEntryTemplate = \ |
|
112 TemplatesListsStyleCSS.eventsListEntryTemplate |
105 self.deprecatedTemplate = TemplatesListsStyleCSS.deprecatedTemplate |
113 self.deprecatedTemplate = TemplatesListsStyleCSS.deprecatedTemplate |
106 self.authorInfoTemplate = TemplatesListsStyleCSS.authorInfoTemplate |
114 self.authorInfoTemplate = TemplatesListsStyleCSS.authorInfoTemplate |
107 self.seeListTemplate = TemplatesListsStyleCSS.seeListTemplate |
115 self.seeListTemplate = TemplatesListsStyleCSS.seeListTemplate |
108 self.seeListEntryTemplate = TemplatesListsStyleCSS.seeListEntryTemplate |
116 self.seeListEntryTemplate = \ |
|
117 TemplatesListsStyleCSS.seeListEntryTemplate |
109 self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate |
118 self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate |
110 self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate |
119 self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate |
111 else: |
120 else: |
112 from . import TemplatesListsStyle |
121 from . import TemplatesListsStyle |
113 self.headerTemplate = TemplatesListsStyle.headerTemplate.format(**colors) |
122 self.headerTemplate = \ |
114 self.footerTemplate = TemplatesListsStyle.footerTemplate.format(**colors) |
123 TemplatesListsStyle.headerTemplate.format(**colors) |
115 self.moduleTemplate = TemplatesListsStyle.moduleTemplate.format(**colors) |
124 self.footerTemplate = \ |
116 self.rbFileTemplate = TemplatesListsStyle.rbFileTemplate.format(**colors) |
125 TemplatesListsStyle.footerTemplate.format(**colors) |
117 self.classTemplate = TemplatesListsStyle.classTemplate.format(**colors) |
126 self.moduleTemplate = \ |
118 self.methodTemplate = TemplatesListsStyle.methodTemplate.format(**colors) |
127 TemplatesListsStyle.moduleTemplate.format(**colors) |
|
128 self.rbFileTemplate = \ |
|
129 TemplatesListsStyle.rbFileTemplate.format(**colors) |
|
130 self.classTemplate = \ |
|
131 TemplatesListsStyle.classTemplate.format(**colors) |
|
132 self.methodTemplate = \ |
|
133 TemplatesListsStyle.methodTemplate.format(**colors) |
119 self.constructorTemplate = \ |
134 self.constructorTemplate = \ |
120 TemplatesListsStyle.constructorTemplate.format(**colors) |
135 TemplatesListsStyle.constructorTemplate.format(**colors) |
121 self.rbModuleTemplate = TemplatesListsStyle.rbModuleTemplate.format(**colors) |
136 self.rbModuleTemplate = \ |
|
137 TemplatesListsStyle.rbModuleTemplate.format(**colors) |
122 self.rbModulesClassTemplate = \ |
138 self.rbModulesClassTemplate = \ |
123 TemplatesListsStyle.rbModulesClassTemplate.format(**colors) |
139 TemplatesListsStyle.rbModulesClassTemplate.format(**colors) |
124 self.functionTemplate = TemplatesListsStyle.functionTemplate.format(**colors) |
140 self.functionTemplate = \ |
125 self.listTemplate = TemplatesListsStyle.listTemplate.format(**colors) |
141 TemplatesListsStyle.functionTemplate.format(**colors) |
|
142 self.listTemplate = \ |
|
143 TemplatesListsStyle.listTemplate.format(**colors) |
126 self.listEntryTemplate = \ |
144 self.listEntryTemplate = \ |
127 TemplatesListsStyle.listEntryTemplate.format(**colors) |
145 TemplatesListsStyle.listEntryTemplate.format(**colors) |
128 self.listEntryNoneTemplate = \ |
146 self.listEntryNoneTemplate = \ |
129 TemplatesListsStyle.listEntryNoneTemplate.format(**colors) |
147 TemplatesListsStyle.listEntryNoneTemplate.format(**colors) |
130 self.listEntryDeprecatedTemplate = \ |
148 self.listEntryDeprecatedTemplate = \ |
131 TemplatesListsStyle.listEntryDeprecatedTemplate.format(**colors) |
149 TemplatesListsStyle.listEntryDeprecatedTemplate.format( |
|
150 **colors) |
132 self.listEntrySimpleTemplate = \ |
151 self.listEntrySimpleTemplate = \ |
133 TemplatesListsStyle.listEntrySimpleTemplate.format(**colors) |
152 TemplatesListsStyle.listEntrySimpleTemplate.format(**colors) |
134 self.paragraphTemplate = \ |
153 self.paragraphTemplate = \ |
135 TemplatesListsStyle.paragraphTemplate.format(**colors) |
154 TemplatesListsStyle.paragraphTemplate.format(**colors) |
136 self.parametersListTemplate = \ |
155 self.parametersListTemplate = \ |
137 TemplatesListsStyle.parametersListTemplate.format(**colors) |
156 TemplatesListsStyle.parametersListTemplate.format(**colors) |
138 self.parametersListEntryTemplate = \ |
157 self.parametersListEntryTemplate = \ |
139 TemplatesListsStyle.parametersListEntryTemplate.format(**colors) |
158 TemplatesListsStyle.parametersListEntryTemplate.format( |
140 self.returnsTemplate = TemplatesListsStyle.returnsTemplate.format(**colors) |
159 **colors) |
|
160 self.returnsTemplate = \ |
|
161 TemplatesListsStyle.returnsTemplate.format(**colors) |
141 self.exceptionsListTemplate = \ |
162 self.exceptionsListTemplate = \ |
142 TemplatesListsStyle.exceptionsListTemplate.format(**colors) |
163 TemplatesListsStyle.exceptionsListTemplate.format(**colors) |
143 self.exceptionsListEntryTemplate = \ |
164 self.exceptionsListEntryTemplate = \ |
144 TemplatesListsStyle.exceptionsListEntryTemplate.format(**colors) |
165 TemplatesListsStyle.exceptionsListEntryTemplate.format( |
|
166 **colors) |
145 self.signalsListTemplate = \ |
167 self.signalsListTemplate = \ |
146 TemplatesListsStyle.signalsListTemplate.format(**colors) |
168 TemplatesListsStyle.signalsListTemplate.format(**colors) |
147 self.signalsListEntryTemplate = \ |
169 self.signalsListEntryTemplate = \ |
148 TemplatesListsStyle.signalsListEntryTemplate.format(**colors) |
170 TemplatesListsStyle.signalsListEntryTemplate.format(**colors) |
149 self.eventsListTemplate = \ |
171 self.eventsListTemplate = \ |
152 TemplatesListsStyle.eventsListEntryTemplate.format(**colors) |
174 TemplatesListsStyle.eventsListEntryTemplate.format(**colors) |
153 self.deprecatedTemplate = \ |
175 self.deprecatedTemplate = \ |
154 TemplatesListsStyle.deprecatedTemplate.format(**colors) |
176 TemplatesListsStyle.deprecatedTemplate.format(**colors) |
155 self.authorInfoTemplate = \ |
177 self.authorInfoTemplate = \ |
156 TemplatesListsStyle.authorInfoTemplate.format(**colors) |
178 TemplatesListsStyle.authorInfoTemplate.format(**colors) |
157 self.seeListTemplate = TemplatesListsStyle.seeListTemplate.format(**colors) |
179 self.seeListTemplate = \ |
|
180 TemplatesListsStyle.seeListTemplate.format(**colors) |
158 self.seeListEntryTemplate = \ |
181 self.seeListEntryTemplate = \ |
159 TemplatesListsStyle.seeListEntryTemplate.format(**colors) |
182 TemplatesListsStyle.seeListEntryTemplate.format(**colors) |
160 self.seeLinkTemplate = TemplatesListsStyle.seeLinkTemplate.format(**colors) |
183 self.seeLinkTemplate = \ |
|
184 TemplatesListsStyle.seeLinkTemplate.format(**colors) |
161 self.sinceInfoTemplate = \ |
185 self.sinceInfoTemplate = \ |
162 TemplatesListsStyle.sinceInfoTemplate.format(**colors) |
186 TemplatesListsStyle.sinceInfoTemplate.format(**colors) |
163 |
187 |
164 self.keywords = [] # list of tuples containing the name (string) and |
188 self.keywords = [] |
165 # the ref (string). The ref is without the filename part. |
189 # list of tuples containing the name (string) and |
|
190 # the ref (string). The ref is without the filename part. |
166 self.generated = False |
191 self.generated = False |
167 |
192 |
168 def isEmpty(self): |
193 def isEmpty(self): |
169 """ |
194 """ |
170 Public method to determine, if the module contains any classes or functions. |
195 Public method to determine, if the module contains any classes or |
|
196 functions. |
171 |
197 |
172 @return Flag indicating an empty module (i.e. __init__.py without |
198 @return Flag indicating an empty module (i.e. __init__.py without |
173 any contents) |
199 any contents) |
174 """ |
200 """ |
175 return self.empty |
201 return self.empty |
489 methBody = self.methodTemplate.format(**{ \ |
529 methBody = self.methodTemplate.format(**{ \ |
490 'Anchor': className, |
530 'Anchor': className, |
491 'Class': obj.name, |
531 'Class': obj.name, |
492 'Method': obj.methods[method].name, |
532 'Method': obj.methods[method].name, |
493 'MethodClassifier': methodClassifier, |
533 'MethodClassifier': methodClassifier, |
494 'MethodDescription': \ |
534 'MethodDescription': |
495 self.__formatDescription(obj.methods[method].description), |
535 self.__formatDescription( |
|
536 obj.methods[method].description), |
496 'Params': ', '.join(obj.methods[method].parameters[1:]), |
537 'Params': ', '.join(obj.methods[method].parameters[1:]), |
497 }) |
538 }) |
498 except TagError as e: |
539 except TagError as e: |
499 sys.stderr.write( |
540 sys.stderr.write( |
500 "Error in tags of description of method {0}.{1}.\n".format( |
541 "Error in tags of description of method {0}.{1}.\n".format( |
501 className, method)) |
542 className, method)) |
502 sys.stderr.write("{0}\n".format(e)) |
543 sys.stderr.write("{0}\n".format(e)) |
503 methBody = "" |
544 methBody = "" |
504 methBodies.append(methBody) |
545 methBodies.append(methBody) |
505 |
546 |
506 methList = self.__genMethodsListSection(methods, obj.methods, className, |
547 methList = self.__genMethodsListSection(methods, obj.methods, |
507 obj.name, includeInit=filter == Function.General) |
548 className, obj.name, includeInit=filter == Function.General) |
508 |
549 |
509 if not methList: |
550 if not methList: |
510 methList = self.listEntryNoneTemplate |
551 methList = self.listEntryNoneTemplate |
511 return self.listTemplate.format(**{ \ |
552 return self.listTemplate.format(**{ \ |
512 'Entries': methList, |
553 'Entries': methList, |
513 }), ''.join(methBodies) |
554 }), ''.join(methBodies) |
514 |
555 |
515 def __genRbModulesSection(self): |
556 def __genRbModulesSection(self): |
516 """ |
557 """ |
517 Private method to generate the document section with details about Ruby modules. |
558 Private method to generate the document section with details about |
|
559 Ruby modules. |
518 |
560 |
519 @return The Ruby modules details section. (string) |
561 @return The Ruby modules details section. (string) |
520 """ |
562 """ |
521 rbModulesNames = sorted(list(self.module.modules.keys())) |
563 rbModulesNames = sorted(list(self.module.modules.keys())) |
522 rbModules = [] |
564 rbModules = [] |
523 for rbModuleName in rbModulesNames: |
565 for rbModuleName in rbModulesNames: |
524 rbModule = self.module.modules[rbModuleName] |
566 rbModule = self.module.modules[rbModuleName] |
525 globalsList = self.__genGlobalsListSection(rbModule) |
567 globalsList = self.__genGlobalsListSection(rbModule) |
526 methList, methBodies = \ |
568 methList, methBodies = self.__genMethodSection( |
527 self.__genMethodSection(rbModule, rbModuleName, Function.General) |
569 rbModule, rbModuleName, Function.General) |
528 classList, classBodies = \ |
570 classList, classBodies = self.__genRbModulesClassesSection( |
529 self.__genRbModulesClassesSection(rbModule, rbModuleName) |
571 rbModule, rbModuleName) |
530 |
572 |
531 try: |
573 try: |
532 rbmBody = self.rbModuleTemplate.format(**{ \ |
574 rbmBody = self.rbModuleTemplate.format(**{ \ |
533 'Anchor': rbModuleName, |
575 'Anchor': rbModuleName, |
534 'Module': rbModule.name, |
576 'Module': rbModule.name, |
535 'ModuleDescription': self.__formatDescription(rbModule.description), |
577 'ModuleDescription': |
|
578 self.__formatDescription(rbModule.description), |
536 'GlobalsList': globalsList, |
579 'GlobalsList': globalsList, |
537 'ClassesList': classList, |
580 'ClassesList': classList, |
538 'ClassesDetails': classBodies, |
581 'ClassesDetails': classBodies, |
539 'FunctionsList': methList, |
582 'FunctionsList': methList, |
540 'FunctionsDetails': methBodies, |
583 'FunctionsDetails': methBodies, |
541 }) |
584 }) |
542 except TagError as e: |
585 except TagError as e: |
543 sys.stderr.write( |
586 sys.stderr.write( |
544 "Error in tags of description of Ruby module {0}.\n".format( |
587 "Error in tags of description of Ruby module {0}.\n" |
545 rbModuleName)) |
588 .format(rbModuleName)) |
546 sys.stderr.write("{0}\n".format(e)) |
589 sys.stderr.write("{0}\n".format(e)) |
547 rbmBody = "" |
590 rbmBody = "" |
548 |
591 |
549 rbModules.append(rbmBody) |
592 rbModules.append(rbmBody) |
550 |
593 |
601 """ |
647 """ |
602 Private method to generate the classes list section of a Ruby module. |
648 Private method to generate the classes list section of a Ruby module. |
603 |
649 |
604 @param names The names to appear in the list. (list of strings) |
650 @param names The names to appear in the list. (list of strings) |
605 @param dict A dictionary containing all relevant information. |
651 @param dict A dictionary containing all relevant information. |
606 @param moduleName Name of the Ruby module containing the classes. (string) |
652 @param moduleName Name of the Ruby module containing the classes. |
|
653 (string) |
607 @return The list section. (string) |
654 @return The list section. (string) |
608 """ |
655 """ |
609 lst = [] |
656 lst = [] |
610 for name in names: |
657 for name in names: |
611 lst.append(self.listEntryTemplate.format(**{ \ |
658 lst.append(self.listEntryTemplate.format(**{ \ |
612 'Link': "{0}.{1}".format(moduleName, name), |
659 'Link': "{0}.{1}".format(moduleName, name), |
613 'Name': dict[name].name, |
660 'Name': dict[name].name, |
614 'Description': self.__getShortDescription(dict[name].description), |
661 'Description': |
615 'Deprecated': self.__checkDeprecated(dict[name].description) and \ |
662 self.__getShortDescription(dict[name].description), |
616 self.listEntryDeprecatedTemplate or "", |
663 'Deprecated': |
|
664 self.__checkDeprecated(dict[name].description) and \ |
|
665 self.listEntryDeprecatedTemplate or "", |
617 })) |
666 })) |
618 self.keywords.append(("{0}.{1}".format(moduleName, name), |
667 self.keywords.append(("{0}.{1}".format(moduleName, name), |
619 "#{0}.{1}".format(moduleName, name))) |
668 "#{0}.{1}".format(moduleName, name))) |
620 return ''.join(lst) |
669 return ''.join(lst) |
621 |
670 |
622 def __genFunctionsSection(self): |
671 def __genFunctionsSection(self): |
623 """ |
672 """ |
624 Private method to generate the document section with details about functions. |
673 Private method to generate the document section with details about |
|
674 functions. |
625 |
675 |
626 @return The functions details section. (string) |
676 @return The functions details section. (string) |
627 """ |
677 """ |
628 funcBodies = [] |
678 funcBodies = [] |
629 funcNames = sorted(list(self.module.functions.keys())) |
679 funcNames = sorted(list(self.module.functions.keys())) |
937 lastItem = eventDict[eventName] |
999 lastItem = eventDict[eventName] |
938 elif desc.startswith("@deprecated"): |
1000 elif desc.startswith("@deprecated"): |
939 inTagSection = True |
1001 inTagSection = True |
940 parts = desc.split(None, 1) |
1002 parts = desc.split(None, 1) |
941 if len(parts) < 2: |
1003 if len(parts) < 2: |
942 raise TagError("Wrong format in {0} line.\n".format(parts[0])) |
1004 raise TagError( |
|
1005 "Wrong format in {0} line.\n".format(parts[0])) |
943 deprecated = [parts[1]] |
1006 deprecated = [parts[1]] |
944 lastItem = deprecated |
1007 lastItem = deprecated |
945 elif desc.startswith("@author"): |
1008 elif desc.startswith("@author"): |
946 inTagSection = True |
1009 inTagSection = True |
947 parts = desc.split(None, 1) |
1010 parts = desc.split(None, 1) |
948 if len(parts) < 2: |
1011 if len(parts) < 2: |
949 raise TagError("Wrong format in {0} line.\n".format(parts[0])) |
1012 raise TagError( |
|
1013 "Wrong format in {0} line.\n".format(parts[0])) |
950 authorInfo = [parts[1]] |
1014 authorInfo = [parts[1]] |
951 lastItem = authorInfo |
1015 lastItem = authorInfo |
952 elif desc.startswith("@since"): |
1016 elif desc.startswith("@since"): |
953 inTagSection = True |
1017 inTagSection = True |
954 parts = desc.split(None, 1) |
1018 parts = desc.split(None, 1) |
955 if len(parts) < 2: |
1019 if len(parts) < 2: |
956 raise TagError("Wrong format in {0} line.\n".format(parts[0])) |
1020 raise TagError( |
|
1021 "Wrong format in {0} line.\n".format(parts[0])) |
957 sinceInfo = [parts[1]] |
1022 sinceInfo = [parts[1]] |
958 lastItem = sinceInfo |
1023 lastItem = sinceInfo |
959 elif desc.startswith("@see"): |
1024 elif desc.startswith("@see"): |
960 inTagSection = True |
1025 inTagSection = True |
961 parts = desc.split(None, 1) |
1026 parts = desc.split(None, 1) |
962 if len(parts) < 2: |
1027 if len(parts) < 2: |
963 raise TagError("Wrong format in {0} line.\n".format(parts[0])) |
1028 raise TagError( |
|
1029 "Wrong format in {0} line.\n".format(parts[0])) |
964 seeList.append([parts[1]]) |
1030 seeList.append([parts[1]]) |
965 lastItem = seeList[-1] |
1031 lastItem = seeList[-1] |
966 elif desc.startswith("@@"): |
1032 elif desc.startswith("@@"): |
967 lastItem.append(desc[1:]) |
1033 lastItem.append(desc[1:]) |
968 elif desc.startswith("@"): |
1034 elif desc.startswith("@"): |
969 tag = desc.split(None, 1)[0] |
1035 tag = desc.split(None, 1)[0] |
970 raise TagError("Unknown tag encountered, {0}.\n".format(tag)) |
1036 raise TagError( |
|
1037 "Unknown tag encountered, {0}.\n".format(tag)) |
971 else: |
1038 else: |
972 lastItem.append(ditem) |
1039 lastItem.append(ditem) |
973 elif not inTagSection: |
1040 elif not inTagSection: |
974 lastItem.append(ditem) |
1041 lastItem.append(ditem) |
975 |
1042 |