1  from twisted.web import html, resource 
 2  from buildbot.status.web.base import Box 
 3  from buildbot.status.web.base import HtmlResource 
 4  from buildbot.status.web.base import IBox 
 5   
 9   
10 -    def head(self, request): 
 12   
13 -    def body(self, request): 
 14          """Display a build in the same format as the waterfall page. 
15          The HTTP GET parameters are the builder name and the build 
16          number.""" 
17   
18          status = self.getStatus(request) 
19          data = "" 
20   
21           
22          name = request.args.get("builder", [None])[0] 
23          number = request.args.get("number", [None])[0] 
24          if not name or not number: 
25              return "builder and number parameter missing" 
26          number = int(number) 
27   
28           
29          data += '<table>\n' 
30   
31           
32          try: 
33            builder = status.getBuilder(name) 
34          except: 
35              return "unknown builder" 
36   
37           
38          build = builder.getBuild(int(number)) 
39          if not build: 
40              return "unknown build %s" % number 
41   
42           
43          for i in range(len(build.getSteps()) - 1, -1, -1): 
44              if build.getSteps()[i].getText(): 
45                  data += " <tr>\n" 
46                  data += IBox(build.getSteps()[i]).getBox(request).td(align="center") 
47                  data += " </tr>\n" 
48   
49           
50          data += "<tr>" 
51          data += IBox(build).getBox(request).td(align="center") 
52          data += "</tr></table>\n" 
53   
54           
55           
56          data = data.replace('<a ', '<a target="_blank"') 
57          return data 
  58