def _getPackageHRefLink(pkgName, icrEntry, **kargs): global pgkUpperCaseNameDict if pkgName in PACKAGE_MAP: pkgLink = getPackageHtmlFileName(PACKAGE_MAP[pkgName]) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) crossRef = None if 'crossRef' in kargs: crossRef = kargs['crossRef'] if crossRef: if not pgkUpperCaseNameDict: for name in crossRef.getAllPackages().iterkeys(): pgkUpperCaseNameDict[name.upper()] = name upperName = _normalizeName(pkgName).upper() if upperName in pgkUpperCaseNameDict: _addToPackageMap(icrEntry, pgkUpperCaseNameDict[upperName]) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, getPackageHtmlFileName(pgkUpperCaseNameDict[upperName]), pkgName) pkg = crossRef.getPackageByName(pkgName) if not pkg: pkgRename = _normalizeName(pkgName).title() pkg = crossRef.getPackageByName(pkgRename) if not pkg: pkgRename = _normalizeName(pkgName) pkg = crossRef.getPackageByName(pkgRename) if pkg: _addToPackageMap(icrEntry, pkg.getName()) pkgLink = getPackageHtmlFileName(pkg.getName()) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) else: logger.warning('Cannot find mapping for package: [%s]', pkgName) return pkgName
def getPackageHRefLink(pkgName, icrEntry, **kargs): if pkgName in pkgMap: pkgLink = getPackageHtmlFileName(pkgMap[pkgName]) return '<a href=\"%s%s\">%s</a>' % (dox_url, pkgLink, pkgName) crossRef = None if 'crossRef' in kargs: crossRef = kargs['crossRef'] if crossRef: if len(pgkUpperCaseNameDict) == 0: for name in crossRef.getAllPackages().iterkeys(): pgkUpperCaseNameDict[name.upper()] = name upperName = normalizeName(pkgName).upper() if upperName in pgkUpperCaseNameDict: addToPackageMap(icrEntry, pgkUpperCaseNameDict[upperName]) return '<a href=\"%s%s\">%s</a>' % ( dox_url, getPackageHtmlFileName( pgkUpperCaseNameDict[upperName]), pkgName) pkg = crossRef.getPackageByName(pkgName) if not pkg: pkgRename = normalizeName(pkgName).title() # logger.warn('[%s] renamed as [%s]', pkgName, pkgRename) pkg = crossRef.getPackageByName(pkgRename) if not pkg: pkgRename = normalizeName(pkgName) pkg = crossRef.getPackageByName(pkgRename) if pkg: addToPackageMap(icrEntry, pkg.getName()) pkgLink = getPackageHtmlFileName(pkg.getName()) return '<a href=\"%s%s\">%s</a>' % (dox_url, pkgLink, pkgName) else: logger.warn('Can not find mapping for package: [%s]', pkgName) return pkgName
def getPackageHRefLink(pkgName, icrEntry, **kargs): global pgkUpperCaseNameDict if pkgName in pkgMap: pkgLink = getPackageHtmlFileName(pkgMap[pkgName]) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) crossRef = None if 'crossRef' in kargs: crossRef = kargs['crossRef'] if crossRef: if len(pgkUpperCaseNameDict) == 0 : for name in crossRef.getAllPackages().iterkeys(): pgkUpperCaseNameDict[name.upper()] = name upperName = normalizeName(pkgName).upper() if upperName in pgkUpperCaseNameDict: addToPackageMap(icrEntry, pgkUpperCaseNameDict[upperName]) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, getPackageHtmlFileName(pgkUpperCaseNameDict[upperName]), pkgName) pkg = crossRef.getPackageByName(pkgName) if not pkg: pkgRename = normalizeName(pkgName).title() # logger.warn('[%s] renamed as [%s]', pkgName, pkgRename) pkg = crossRef.getPackageByName(pkgRename) if not pkg: pkgRename = normalizeName(pkgName) pkg = crossRef.getPackageByName(pkgRename) if pkg: addToPackageMap(icrEntry, pkg.getName()) pkgLink = getPackageHtmlFileName(pkg.getName()) return '<a href=\"%s%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) else: logger.warn('Can not find mapping for package: [%s]', pkgName) return pkgName
def _getPackageHRefLink(pkgName, icrEntry, **kargs): if 'crossRef' not in kargs: logger.error('No CrossReference given. Cannot find mapping for package: [%s]', pkgName) return pkgName crossRef = kargs['crossRef'] mappedPkgName = crossRef.getMappedPackageName(pkgName) if mappedPkgName is not None: pkgLink = getPackageHtmlFileName(mappedPkgName) return '<a href=\"%s/%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) upperName = pkgName.upper() mappedPkgName = crossRef.getMappedPackageName(upperName) if mappedPkgName is not None: pkgLink = getPackageHtmlFileName(mappedPkgName) return '<a href=\"%s/%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) pkg = crossRef.getPackageByName(pkgName) if not pkg: pkgRename = crossRef.normalizePackageName(pkgName).title() pkg = crossRef.getPackageByName(pkgRename) if not pkg: pkgRename = crossRef.normalizePackageName(pkgName) pkg = crossRef.getPackageByName(pkgRename) if pkg: pkgLink = getPackageHtmlFileName(pkg.getName()) return '<a href=\"%s/%s\">%s</a>' % (DOX_URL, pkgLink, pkgName) else: logger.warning('Cannot find mapping for package: [%s]', pkgName) return pkgName
def _generatePackageDependencyGraph(self, package): # merge the routine and package list depPackages, depPackageMerged = mergeAndSortDependencyListByPackage(package, self._isDependency) packageName = package.getName() totalPackage = len(depPackageMerged) if (totalPackage == 0) or (totalPackage > MAX_DEPENDENCY_LIST_SIZE): logger.info("Nothing to do exiting... Package: %s Total: %d " % (packageName, totalPackage)) return dirName = os.path.join(self._outDir, packageName) if self._isDependency: packageSuffix = "_dependency" else: packageSuffix = "_dependent" normalizedName = normalizePackageName(packageName) dotFilename = os.path.join(dirName, "%s%s.dot" % (normalizedName, packageSuffix)) with open(dotFilename, 'w') as output: output.write("digraph %s%s {\n" % (normalizedName, packageSuffix)) output.write("\tnode [shape=box fontsize=14];\n") # set the node shape to be box output.write("\tnodesep=0.35;\n") # set the node sep to be 0.35 output.write("\transsep=0.55;\n") # set the rank sep to be 0.75 output.write("\tedge [fontsize=12];\n") # set the edge label and size props output.write("\t%s [style=filled fillcolor=orange label=\"%s\"];\n" % (normalizedName, packageName)) for depPackage in depPackages: depPackageName = depPackage.getName() normalizedDepPackName = normalizePackageName(depPackageName) output.write("\t%s [label=\"%s\" URL=\"%s\"];\n" % (normalizedDepPackName, depPackageName, getPackageHtmlFileName(depPackageName))) depMetricsList = depPackageMerged[depPackage] edgeWeight = sum(depMetricsList[0:7:2]) edgeLinkURL = getPackageDependencyHtmlFileName(normalizedName, normalizedDepPackName) if self._isDependency: edgeStartNode = normalizedName edgeEndNode = normalizedDepPackName edgeLinkArch = packageName toolTipStartPackage = packageName toolTipEndPackage = depPackageName else: edgeStartNode = normalizedDepPackName edgeEndNode = normalizedName edgeLinkArch = depPackageName toolTipStartPackage = depPackageName toolTipEndPackage = packageName (edgeLabel, edgeToolTip, edgeStyle) = getPackageGraphEdgePropsByMetrics(depMetricsList, toolTipStartPackage, toolTipEndPackage) output.write("\t%s->%s [label=\"%s\" weight=%d URL=\"%s#%s\" style=\"%s\" labeltooltip=\"%s\" edgetooltip=\"%s\"];\n" % (edgeStartNode, edgeEndNode, edgeLabel, edgeWeight, edgeLinkURL, edgeLinkArch, edgeStyle, edgeToolTip, edgeToolTip)) output.write("}\n") pngFilename = os.path.join(dirName, "%s%s.png" % (normalizedName, packageSuffix)) cmapxFilename = os.path.join(dirName, "%s%s.cmapx" % (normalizedName, packageSuffix)) self._generateImagesFromDotFile(pngFilename, cmapxFilename, dotFilename)
def generateListingPage(outDir, pageData, dataType): outDir = os.path.join(outDir, dataType.replace(".","_")) if not os.path.exists(outDir): os.mkdir(outDir) with open("%s/%s.html" % (outDir, dataType), 'w') as output: output.write("<html>\n") outputDataListTableHeader(output, dataType,pageData["headers"],pageData["headers"],[]) output.write("<body id=\"dt_example\">") output.write("""<div id="container" style="width:80%">""") output.write("<h1> %s Data List</h1>" % (dataType)) outputCustomDataTableHeader(output, pageData["headers"],dataType) output.write("<tbody>\n") for object in pageData["records"]: object.pop(0) output.write("<tr>\n") # """ table body """ for idx, item in enumerate(object): pageObject = item if idx in [0, 5]: # Col 0 in Namespace table is namespace, Col 5 in Numberspace table is namespace pageObject="" allnmsp = item.split(",") for nmsp in allnmsp: result = crossRef.__categorizeVariableNameByNamespace__(nmsp.strip()) if result[0] != None: pageObject += """<a href='../dox/%s'>%s</a></br> """ % (getPackageHtmlFileName(result[1].getName()),nmsp) else: pageObject += nmsp + "</br>" output.write("<td>%s</td>\n" % pageObject) else: output.write("<td>%s</td>\n" % item) output.write("</tr>\n") output.write("</tbody>\n") output.write("</table>\n") output.write("</div>\n") output.write("</div>\n") output.write ("</body></html>\n")
def getPackageHRefLink(pkgName): value = "<a href=\"%s/%s\">%s</a>" % ( DOX_URL, getPackageHtmlFileName(pkgName), pkgName) return value
def getPackageHRefLink(pkgName): value = "<a href=\"%s%s\">%s</a>" % ( dox_url, getPackageHtmlFileName(pkgName), pkgName) return value
def getPackageHRefLink(pkgName): value = "<a href=\"%s%s\">%s</a>" % (DOX_URL, getPackageHtmlFileName(pkgName), pkgName) return value
def _generatePackageDependencyGraph(self, package): # merge the routine and package list depPackages, depPackageMerged = mergeAndSortDependencyListByPackage( package, self._isDependency) packageName = package.getName() totalPackage = len(depPackageMerged) if (totalPackage == 0) or (totalPackage > MAX_DEPENDENCY_LIST_SIZE): logger.info("Nothing to do exiting... Package: %s Total: %d " % (packageName, totalPackage)) return dirName = os.path.join(self._outDir, packageName) if self._isDependency: packageSuffix = "_dependency" else: packageSuffix = "_dependent" normalizedName = normalizePackageName(packageName) dotFilename = os.path.join( dirName, "%s%s.dot" % (normalizedName, packageSuffix)) with open(dotFilename, 'w') as output: output.write("digraph %s%s {\n" % (normalizedName, packageSuffix)) output.write("\tnode [shape=box fontsize=14];\n" ) # set the node shape to be box output.write("\tnodesep=0.35;\n") # set the node sep to be 0.35 output.write("\transsep=0.55;\n") # set the rank sep to be 0.75 output.write( "\tedge [fontsize=12];\n") # set the edge label and size props output.write( "\t%s [style=filled fillcolor=orange label=\"%s\"];\n" % (normalizedName, packageName)) for depPackage in depPackages: depPackageName = depPackage.getName() normalizedDepPackName = normalizePackageName(depPackageName) output.write("\t%s [label=\"%s\" URL=\"%s\"];\n" % (normalizedDepPackName, depPackageName, getPackageHtmlFileName(depPackageName))) depMetricsList = depPackageMerged[depPackage] edgeWeight = sum(depMetricsList[0:7:2]) edgeLinkURL = getPackageDependencyHtmlFileName( normalizedName, normalizedDepPackName) if self._isDependency: edgeStartNode = normalizedName edgeEndNode = normalizedDepPackName edgeLinkArch = packageName toolTipStartPackage = packageName toolTipEndPackage = depPackageName else: edgeStartNode = normalizedDepPackName edgeEndNode = normalizedName edgeLinkArch = depPackageName toolTipStartPackage = depPackageName toolTipEndPackage = packageName (edgeLabel, edgeToolTip, edgeStyle) = getPackageGraphEdgePropsByMetrics( depMetricsList, toolTipStartPackage, toolTipEndPackage) output.write( "\t%s->%s [label=\"%s\" weight=%d URL=\"%s#%s\" style=\"%s\" labeltooltip=\"%s\" edgetooltip=\"%s\"];\n" % (edgeStartNode, edgeEndNode, edgeLabel, edgeWeight, edgeLinkURL, edgeLinkArch, edgeStyle, edgeToolTip, edgeToolTip)) output.write("}\n") pngFilename = os.path.join( dirName, "%s%s.png" % (normalizedName, packageSuffix)) cmapxFilename = os.path.join( dirName, "%s%s.cmapx" % (normalizedName, packageSuffix)) self._generateImagesFromDotFile(pngFilename, cmapxFilename, dotFilename)