Trees | Indices | Help |
|
---|
|
1 # This file is part of Buildbot. Buildbot is free software: you can 2 # redistribute it and/or modify it under the terms of the GNU General Public 3 # License as published by the Free Software Foundation, version 2. 4 # 5 # This program is distributed in the hope that it will be useful, but WITHOUT 6 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 7 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 8 # details. 9 # 10 # You should have received a copy of the GNU General Public License along with 11 # this program; if not, write to the Free Software Foundation, Inc., 51 12 # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 13 # 14 # Copyright Buildbot Team Members 15 16 from buildbot.status.web.base import HtmlResource, IBox 17216723 """Display a build in the same format as the waterfall page. 24 The HTTP GET parameters are the builder name and the build 25 number.""" 26 27 status = self.getStatus(request) 28 request.setHeader('Cache-Control', 'no-cache') 29 30 # Get the parameters. 31 name = request.args.get("builder", [None])[0] 32 number = request.args.get("number", [None])[0] 33 if not name or not number: 34 return "builder and number parameter missing" 35 number = int(number) 36 37 # Check if the builder in parameter exists. 38 try: 39 builder = status.getBuilder(name) 40 except: 41 return "unknown builder" 42 43 # Check if the build in parameter exists. 44 build = builder.getBuild(int(number)) 45 if not build: 46 return "unknown build %s" % number 47 48 rows = ctx['rows'] = [] 49 50 # Display each step, starting by the last one. 51 for i in range(len(build.getSteps()) - 1, -1, -1): 52 step = build.getSteps()[i] 53 if step.isStarted() and step.getText(): 54 rows.append(IBox(step).getBox(request).td(align="center")) 55 56 # Display the bottom box with the build number in it. 57 ctx['build'] = IBox(build).getBox(request).td(align="center") 58 59 template = request.site.buildbot_service.templates.get_template("buildstatus.html") 60 data = template.render(**ctx) 61 62 # We want all links to display in a new tab/window instead of in the 63 # current one. 64 # TODO: Move to template 65 data = data.replace('<a ', '<a target="_blank"') 66 return data
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Nov 21 16:23:02 2012 | http://epydoc.sourceforge.net |