def run(self): from music21 import documentation # @UnresolvedImport moduleReferenceDirectoryPath = os.path.join( documentation.__path__[0], 'source', 'moduleReference', ) referenceNames = [] for module in [x for x in documentation.ModuleIterator()]: moduleDocumenter = documentation.ModuleDocumenter(module) if not moduleDocumenter.classDocumenters \ and not moduleDocumenter.functionDocumenters: continue rst = '\n'.join(moduleDocumenter.run()) referenceName = moduleDocumenter.referenceName referenceNames.append(referenceName) fileName = '{0}.rst'.format(referenceName) filePath = os.path.join( moduleReferenceDirectoryPath, fileName, ) try: self.write(filePath, rst) except TypeError as te: raise TypeError("File failed: " + filePath + ", reason: " + str(te)) lines = [] lines.append('.. moduleReference:') lines.append('') lines.append('.. WARNING: DO NOT EDIT THIS FILE:') lines.append(' AUTOMATICALLY GENERATED.') lines.append('') lines.append('Module Reference') lines.append('================') lines.append('') lines.append('.. toctree::') lines.append(' :maxdepth: 1') lines.append('') for referenceName in sorted(referenceNames): lines.append(' {0}'.format(referenceName)) rst = '\n'.join(lines) indexFilePath = os.path.join( moduleReferenceDirectoryPath, 'index.rst', ) self.write(indexFilePath, rst)
def __call__(self): from music21 import documentation # @UnresolvedImport moduleReferenceDirectoryPath = os.path.join( documentation.__path__[0], 'source', 'moduleReference', ) referenceNames = [] for module in [x for x in documentation.ModuleIterator()]: moduleDocumenter = documentation.ModuleDocumenter(module) rst = '\n'.join(moduleDocumenter()) referenceName = moduleDocumenter.referenceName referenceNames.append(referenceName) fileName = '{0}.rst'.format(referenceName) filePath = os.path.join( moduleReferenceDirectoryPath, fileName, ) self.write(filePath, rst) lines = [] lines.append('.. moduleReference:') lines.append('') lines.append('.. WARNING: DO NOT EDIT THIS FILE:') lines.append(' AUTOMATICALLY GENERATED.') lines.append('') lines.append('Module Reference') lines.append('================') lines.append('') lines.append('.. toctree::') lines.append(' :maxdepth: 1') lines.append('') for referenceName in sorted(referenceNames): lines.append(' {0}'.format(referenceName)) rst = '\n'.join(lines) indexFilePath = os.path.join( moduleReferenceDirectoryPath, 'index.rst', ) self.write(indexFilePath, rst)