def generateTableHead(self, repositoryDirs): head = [HTMLgen.TH("Test")] ciUrl = os.getenv("JENKINS_URL") or os.getenv( "SYSTEM_TEAMFOUNDATIONSERVERURI") runNameDirs = self.getRunNameDirs(repositoryDirs) if ciUrl else [] for tag in self.tags: tagColour = self.findTagColour(tag) linkTarget = getDetailPageName(self.pageVersion, tag) linkText = HTMLgen.Font(getDisplayText(tag), color=tagColour) buildNumber = self.getCiBuildNumber(tag) if ciUrl and buildNumber.isdigit(): runEnv = getEnvironmentFromRunFiles(runNameDirs, tag) container = HTMLgen.Container() tooltip = jenkinschanges.getTimestamp(buildNumber) container.append( HTMLgen.Href(linkTarget, linkText, title=tooltip)) container.append(HTMLgen.BR()) ciTitle, ciTarget = self.getCiLinkData(runEnv, buildNumber) ciText = HTMLgen.Emphasis( HTMLgen.Font("(" + ciTitle + ")", size=1)) container.append(HTMLgen.Href(ciTarget, ciText, title=tooltip)) head.append(HTMLgen.TH(container)) else: head.append(HTMLgen.TH(HTMLgen.Href(linkTarget, linkText))) heading = HTMLgen.TR() heading = heading + head return heading
def generateTableHead(self, repositoryDirs): head = [HTMLgen.TH("Test")] jenkinsUrl = os.getenv("JENKINS_URL") runNameDirs = self.getRunNameDirs(repositoryDirs) if jenkinsUrl else [] for tag in self.tags: tagColour = self.findTagColour(tag) linkTarget = getDetailPageName(self.pageVersion, tag) linkText = HTMLgen.Font(getDisplayText(tag), color=tagColour) buildNumber = self.getJenkinsBuildNumber(tag) if jenkinsUrl and buildNumber.isdigit(): runEnv = getEnvironmentFromRunFiles(runNameDirs, tag) container = HTMLgen.Container() tooltip = jenkinschanges.getTimestamp(buildNumber) container.append( HTMLgen.Href(linkTarget, linkText, title=tooltip)) container.append(HTMLgen.BR()) jobTarget = os.path.join(self.getRunEnv(runEnv, "JENKINS_URL"), "job", self.getRunEnv(runEnv, "JOB_NAME"), buildNumber) jobText = HTMLgen.Emphasis( HTMLgen.Font("(Jenkins " + buildNumber + ")", size=1)) container.append( HTMLgen.Href(jobTarget, jobText, title=tooltip)) head.append(HTMLgen.TH(container)) else: head.append(HTMLgen.TH(HTMLgen.Href(linkTarget, linkText))) heading = HTMLgen.TR() heading = heading + head return heading
def generateJenkinsChanges(self, pageDir): cacheDir = os.path.join(os.path.dirname(pageDir), "jenkins_changes") bgColour = self.colourFinder.find("changes_header_bg") row = [HTMLgen.TD("Changes", bgcolor=bgColour)] hasData = False prevTag = None for tag in self.tags: allChanges = self.findJenkinsChanges(prevTag, tag, cacheDir) cont = HTMLgen.Container() aborted = False for i, (authorOrMessage, target, bugs) in enumerate(allChanges): if i: cont.append(HTMLgen.BR()) if target: cont.append(HTMLgen.Href(target, authorOrMessage)) else: cont.append(HTMLgen.Font(authorOrMessage, color="red")) aborted = "Aborted" in authorOrMessage for bugText, bugTarget in bugs: cont.append(HTMLgen.Href(bugTarget, bugText)) hasData = True row.append(HTMLgen.TD(cont, bgcolor=bgColour)) if not aborted: prevTag = tag if hasData: return HTMLgen.TR(*row)
def generateTestCell(self, tag, testName, testId, results, resourceName=""): state = results.get(tag) cellText, success, fgcol, bgcol = self.getCellData(state, resourceName) cellContent = HTMLgen.Font(cellText, color=fgcol) if success: return cellContent, bgcol, cellText != "N/A" else: linkTarget = getDetailPageName(self.pageVersion, tag) + "#" + testId tooltip = "'" + testName + "' failure for " + getDisplayText(tag) return HTMLgen.Href(linkTarget, cellContent, title=tooltip, style="color:black"), bgcol, True