def genRef(specFile, baseDir): file = loadFile(specFile) if file is None: return # Save the path to this file for later use in rewriting relative includes specDir = os.path.dirname(os.path.abspath(specFile)) pageMap = findRefs(file, specFile) logDiag(specFile + ': found', len(pageMap.keys()), 'potential pages') sys.stderr.flush() # Fix up references in pageMap fixupRefs(pageMap, specFile, file) # Create each page, if possible for name in sorted(pageMap): pi = pageMap[name] printPageInfo(pi, file) if pi.Warning: logDiag('genRef:', pi.name + ':', pi.Warning) if pi.extractPage: emitPage(baseDir, specDir, pi, file) elif pi.type == 'enums': autoGenEnumsPage(baseDir, pi, file) elif pi.type == 'flags': autoGenFlagsPage(baseDir, pi.name) else: # Don't extract this page logWarn('genRef: Cannot extract or autogenerate:', pi.name)
def genRef(specFile, baseDir): """Extract reference pages from a spec asciidoc source file. - specFile - filename to extract from - baseDir - output directory to generate page in""" # We don't care the newline format used here. file, _ = loadFile(specFile) if file is None: return # Save the path to this file for later use in rewriting relative includes specDir = os.path.dirname(os.path.abspath(specFile)) pageMap = findRefs(file, specFile) logDiag(specFile + ': found', len(pageMap.keys()), 'potential pages') sys.stderr.flush() # Fix up references in pageMap fixupRefs(pageMap, specFile, file) # Create each page, if possible pages = {} for name in sorted(pageMap): pi = pageMap[name] printPageInfo(pi, file) if pi.Warning: logDiag('genRef:', pi.name + ':', pi.Warning) if pi.extractPage: emitPage(baseDir, specDir, pi, file) elif pi.type == 'enums': autoGenEnumsPage(baseDir, pi, file) elif pi.type == 'flags': autoGenFlagsPage(baseDir, pi.name) else: # Don't extract this page logWarn('genRef: Cannot extract or autogenerate:', pi.name) pages[pi.name] = pi for alias in pi.alias.split(): pages[alias] = pi return pages