コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
ファイル: ICRJsonToHtml.py プロジェクト: OSEHRA-Sandbox/VistA
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
コード例 #4
0
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
コード例 #5
0
ファイル: GraphGenerator.py プロジェクト: OSEHRA/VistA
    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)
コード例 #6
0
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")
コード例 #7
0
ファイル: FileManDataToHtml.py プロジェクト: zxexz/VistA
def getPackageHRefLink(pkgName):
    value = "<a href=\"%s/%s\">%s</a>" % (
        DOX_URL, getPackageHtmlFileName(pkgName), pkgName)
    return value
コード例 #8
0
def getPackageHRefLink(pkgName):
    value = "<a href=\"%s%s\">%s</a>" % (
        dox_url, getPackageHtmlFileName(pkgName), pkgName)
    return value
コード例 #9
0
ファイル: FileManDataToHtml.py プロジェクト: OSEHRA/VistA
def getPackageHRefLink(pkgName):
  value = "<a href=\"%s%s\">%s</a>" % (DOX_URL,
                                       getPackageHtmlFileName(pkgName),
                                       pkgName)
  return value
コード例 #10
0
    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)