本文整理汇总了Python中buildbot.status.web.base.ICurrentBox类的典型用法代码示例。如果您正苦于以下问题:Python ICurrentBox类的具体用法?Python ICurrentBox怎么用?Python ICurrentBox使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ICurrentBox类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: content
def content(self, req, cxt):
status = self.getStatus(req)
builders = req.args.get("builder", status.getBuilderNames())
branches = [b for b in req.args.get("branch", []) if b]
# get counts of pending builds for each builder
brstatus_ds = []
brcounts = {}
def keep_count(statuses, builderName):
brcounts[builderName] = len(statuses)
for builderName in builders:
builder_status = status.getBuilder(builderName)
d = builder_status.getPendingBuildRequestStatuses()
d.addCallback(keep_count, builderName)
brstatus_ds.append(d)
yield defer.gatherResults(brstatus_ds)
cxt['branches'] = branches
bs = cxt['builders'] = []
building = 0
online = 0
base_builders_url = path_to_root(req) + "builders/"
for bn in builders:
bld = { 'link': base_builders_url + urllib.quote(bn, safe=''),
'name': bn }
bs.append(bld)
builder = status.getBuilder(bn)
builds = list(builder.generateFinishedBuilds(map_branches(branches),
num_builds=1))
if builds:
b = builds[0]
bld['build_url'] = (bld['link'] + "/builds/%d" % b.getNumber())
label = b.getProperty("got_revision")
if not label or len(str(label)) > 20:
label = "#%d" % b.getNumber()
bld['build_label'] = label
bld['build_text'] = " ".join(b.getText())
bld['build_css_class'] = build_get_class(b)
current_box = ICurrentBox(builder).getBox(status, brcounts)
bld['current_box'] = current_box.td()
builder_status = builder.getState()[0]
if builder_status == "building":
building += 1
online += 1
elif builder_status != "offline":
online += 1
cxt['authz'] = self.getAuthz(req)
cxt['num_building'] = building
cxt['num_online'] = online
buildForceContext(cxt, req, self.getBuildmaster(req))
template = req.site.buildbot_service.templates.get_template("builders.html")
defer.returnValue(template.render(**cxt))
示例2: content
def content(self, req, cxt):
status = self.getStatus(req)
control = self.getControl(req)
builders = req.args.get("builder", status.getBuilderNames())
branches = [b for b in req.args.get("branch", []) if b]
cxt['branches'] = branches
bs = cxt['builders'] = []
building = False
online = 0
base_builders_url = path_to_root(req) + "builders/"
for bn in builders:
bld = { 'link': base_builders_url + urllib.quote(bn, safe=''),
'name': bn }
bs.append(bld)
builder = status.getBuilder(bn)
builds = list(builder.generateFinishedBuilds(map_branches(branches),
num_builds=1))
if builds:
b = builds[0]
bld['build_url'] = (bld['link'] + "/builds/%d" % b.getNumber())
try:
label = b.getProperty("got_revision")
except KeyError:
label = None
if not label or len(str(label)) > 20:
label = "#%d" % b.getNumber()
bld['build_label'] = label
bld['build_text'] = " ".join(b.getText())
bld['build_css_class'] = build_get_class(b)
current_box = ICurrentBox(builder).getBox(status)
bld['current_box'] = current_box.td()
builder_status = builder.getState()[0]
if builder_status == "building":
building = True
online += 1
elif builder_status != "offline":
online += 1
if control is not None:
cxt['use_user_passwd'] = self.isUsingUserPasswd(req)
if building:
cxt['stop_url'] = "builders/_all/stop"
if online:
cxt['force_url'] = "builders/_all/force"
template = req.site.buildbot_service.templates.get_template("oneboxperbuilder.html")
return template.render(**cxt)
示例3: content
def content(self, req, cxt):
status = self.getStatus(req)
builders = req.args.get("builder", status.getBuilderNames())
branches = [b for b in req.args.get("branch", []) if b]
cxt["branches"] = branches
bs = cxt["builders"] = []
building = 0
online = 0
base_builders_url = path_to_root(req) + "builders/"
for bn in builders:
bld = {"link": base_builders_url + urllib.quote(bn, safe=""), "name": bn}
bs.append(bld)
builder = status.getBuilder(bn)
builds = list(builder.generateFinishedBuilds(map_branches(branches), num_builds=1))
if builds:
b = builds[0]
bld["build_url"] = bld["link"] + "/builds/%d" % b.getNumber()
try:
label = b.getProperty("got_revision")
except KeyError:
label = None
if not label or len(str(label)) > 20:
label = "#%d" % b.getNumber()
bld["build_label"] = label
bld["build_text"] = " ".join(b.getText())
bld["build_css_class"] = build_get_class(b)
current_box = ICurrentBox(builder).getBox(status)
bld["current_box"] = current_box.td()
builder_status = builder.getState()[0]
if builder_status == "building":
building += 1
online += 1
elif builder_status != "offline":
online += 1
cxt["authz"] = self.getAuthz(req)
cxt["num_building"] = online
cxt["num_online"] = online
template = req.site.buildbot_service.templates.get_template("builders.html")
return template.render(**cxt)
示例4: content
def content(self, req, cxt):
status = self.getStatus(req)
encoding = getRequestCharset(req)
builders = req.args.get("builder", status.getBuilderNames())
branches = [b.decode(encoding) for b in req.args.get("branch", []) if b]
# get counts of pending builds for each builder
brstatus_ds = []
brcounts = {}
def keep_count(statuses, builderName):
brcounts[builderName] = len(statuses)
for builderName in builders:
builder_status = status.getBuilder(builderName)
d = builder_status.getPendingBuildRequestStatuses()
d.addCallback(keep_count, builderName)
brstatus_ds.append(d)
yield defer.gatherResults(brstatus_ds)
cxt["branches"] = branches
bs = cxt["builders"] = []
building = 0
online = 0
base_builders_url = path_to_root(req) + "builders/"
for bn in builders:
bld = {"link": base_builders_url + urllib.quote(bn, safe=""), "name": bn}
bs.append(bld)
builder = status.getBuilder(bn)
builds = list(builder.generateFinishedBuilds(map_branches(branches), num_builds=1))
if builds:
b = builds[0]
bld["build_url"] = bld["link"] + "/builds/%d" % b.getNumber()
label = None
all_got_revisions = b.getAllGotRevisions()
# If len = 1 then try if revision can be used as label.
if len(all_got_revisions) == 1:
label = all_got_revisions[all_got_revisions.keys()[0]]
if not label or len(str(label)) > 20:
label = "#%d" % b.getNumber()
bld["build_label"] = label
bld["build_text"] = " ".join(b.getText())
bld["build_css_class"] = build_get_class(b)
current_box = ICurrentBox(builder).getBox(status, brcounts)
bld["current_box"] = current_box.td()
builder_status = builder.getState()[0]
if builder_status == "building":
building += 1
online += 1
elif builder_status != "offline":
online += 1
cxt["authz"] = self.getAuthz(req)
cxt["num_building"] = building
cxt["num_online"] = online
buildForceContext(cxt, req, self.getBuildmaster(req))
template = req.site.buildbot_service.templates.get_template("builders.html")
defer.returnValue(template.render(**cxt))
示例5: body
def body(self, req):
from twisted.web import html
status = self.getStatus(req)
control = self.getControl(req)
builders = req.args.get("builder", status.getBuilderNames())
branches = [b for b in req.args.get("branch", []) if b]
building = False
online = 0
base_builders_url = self.path_to_root(req) + "builders/"
all_builders = [html.escape(bn) for bn in builders]
trunk_builders = [bn for bn in all_builders if bn.startswith('trunk')]
stable_builders = [bn for bn in all_builders if bn.startswith('stable')]
trunk_builders_link = 'waterfall?builder='+'&builder='.join(trunk_builders)
stable_builders_link = 'waterfall?builder=' + '&builder='.join(stable_builders)
tr_b = False
st_b = False
data = ""
data += "<table class='grid' id='latest_builds'>"
for bn in all_builders:
if (bn.startswith('stable')) and (not st_b):
st_b = True
data += "<table class='grid' id='stable_builds'>\n"
data += "<tr class='grid-header'><td class='grid-cell'><span>Latest Stable</span></td><td class='grid-cell'><a href=%s>Stable Tests</a></td><td class='grid-cell'><a href='Changelog/5.0'>Changelog</a></td></tr><\n>"[:-3]%(stable_builders_link)
if (bn.startswith('trunk')) and (not tr_b):
tr_b = True
data += "<tr id='trunk_builds'><td colspan='3'></td>"
data += "<tr class='grid-header'><td class='grid-cell'><span>Latest Trunk</span></td><td class='grid-cell'><a href='%s'>Trunk Tests</a></td><td class='grid-cell'><a href='Changelog/trunk'>Changelog</a></td></tr><\n>"[:-3]%(trunk_builders_link)
base_builder_url = base_builders_url + urllib.quote(bn, safe='')
builder = status.getBuilder(bn)
data += "<tr class='grid-row'>\n"
data += '<td class="grid-cell"><a href="%s">%s</a></td>\n' \
% (base_builder_url, html.escape(bn))
builds = list(builder.generateFinishedBuilds(map_branches(branches),
num_builds=1))
if builds:
b = builds[0]
url = (base_builder_url + "/builds/%d" % b.getNumber())
try:
label = b.getProperty("got_revision")
except KeyError:
label = None
if not label or len(str(label)) > 20:
label = "#%d" % b.getNumber()
text = ['<a href="%s">%s</a>' % (url, label)]
text.append(' '.join(b.getText()))
box = Box(text, b.getColor(),
class_="LastBuild box %s" % build_get_class(b))
data += box.td(class_="grid-cell",align="center")
else:
data += '<td class="grid-cell" align="center">no build</td>\n'
current_box = ICurrentBox(builder).getBox(status)
data += current_box.td(class_="grid-cell",align="center")
data+='</tr>'
builder_status = builder.getState()[0]
if builder_status == "building":
building = True
online += 1
elif builder_status != "offline":
online += 1
data += "</table></table>\n"
if control is not None:
if building:
stopURL = "builders/_all/stop"
data += make_stop_form(stopURL, True, "Builds")
if online:
forceURL = "builders/_all/force"
data += make_force_build_form(forceURL, True)
return data