Ticket #743: slaves-page.diff
| File slaves-page.diff, 4.1 KB (added by jhford, 2 years ago) |
|---|
-
buildbot/status/web/baseweb.py
diff --git a/buildbot/status/web/baseweb.py b/buildbot/status/web/baseweb.py index aa6630a..ae1006b 100644
a b from buildbot.status.web.grid import GridStatusResource, TransposedGridStatusRes 20 20 from buildbot.status.web.changes import ChangesResource 21 21 from buildbot.status.web.builder import BuildersResource 22 22 from buildbot.status.web.buildstatus import BuildStatusStatusResource 23 from buildbot.status.web.slaves import BuildSlavesResource 23 from buildbot.status.web.slaves import BuildSlavesResource, SlavesResource 24 24 from buildbot.status.web.status_json import JsonStatusResource 25 25 from buildbot.status.web.xmlrpc import XMLRPCServer 26 26 from buildbot.status.web.about import AboutBuildbot … … class WebStatus(service.MultiService): 76 76 timer, and controls to accelerate the timer. 77 77 /buildslaves : list all BuildSlaves 78 78 /buildslaves/SLAVENAME : describe a single BuildSlave 79 /slaves : describe which slaves are connected 79 80 /one_line_per_build : summarize the last few builds, one line each 80 81 /one_line_per_build/BUILDERNAME : same, but only for a single builder 81 82 /about : describe this buildmaster (Buildbot and support library versions) … … class WebStatus(service.MultiService): 303 304 self.putChild("one_box_per_builder", Redirect("/builders")) 304 305 self.putChild("changes", ChangesResource()) 305 306 self.putChild("buildslaves", BuildSlavesResource()) 307 self.putChild("slaves", SlavesResource()) 306 308 self.putChild("buildstatus", BuildStatusStatusResource()) 307 309 #self.putChild("schedulers", SchedulersResource()) 308 310 self.putChild("one_line_per_build", -
buildbot/status/web/slaves.py
diff --git a/buildbot/status/web/slaves.py b/buildbot/status/web/slaves.py index 6d160e1..e588f30 100644
a b class BuildSlavesResource(HtmlResource): 125 125 return OneBuildSlaveResource(path) 126 126 except KeyError: 127 127 return NoResource("No such slave '%s'" % html.escape(path)) 128 129 # /slaves 130 class SlavesResource(HtmlResource): 131 title = "Slaves" 132 addSlash = True 133 134 def content(self, request, ctx): 135 s = self.getStatus(request) 136 slaves = ctx['slaves'] = [] 137 for name in util.naturalSort(s.getSlaveNames()): 138 info = {} 139 slaves.append(info) 140 slave = s.getSlave(name) 141 slave_status = s.botmaster.slaves[name].slave_status 142 info['link'] = request.childLink(urllib.quote(name,'')) 143 info['name'] = name 144 info['version'] = slave.getVersion() 145 info['connected'] = slave.isConnected() 146 147 if slave.isConnected(): 148 info['admin'] = unicode(slave.getAdmin() or '', 'utf-8') 149 last = slave.lastMessageReceived() 150 if last: 151 info['last_heard_from_age'] = abbreviate_age(time.time() - last) 152 info['last_heard_from_time'] = time.strftime("%Y-%b-%d %H:%M:%S", 153 time.localtime(last)) 154 155 template = request.site.buildbot_service.templates.get_template("slaves.html") 156 data = template.render(**ctx) 157 return data 158 159 def getChild(self, path, req): 160 try: 161 self.getStatus(req).getSlave(path) 162 return OneBuildSlaveResource(path) 163 except KeyError: 164 return NoResource("No such slave '%s'" % html.escape(path)) -
buildbot/status/web/templates/root.html
diff --git a/buildbot/status/web/templates/root.html b/buildbot/status/web/templates/root.html index 4ef11ae..03a2df0 100644
a b 39 39 per line.</li> 40 40 41 41 <li class="{{ item_class.next() }}"><a href="buildslaves">Buildslave</a> information</li> 42 <li class="{{ item_class.next() }}"><a href="slaves">Slave</a> information</li> 42 43 <li class="{{ item_class.next() }}"><a href="changes">Changesource</a> information.</li> 43 44 44 45 <li class="{{ item_class.next() }}"><a href="about">About</a> this Buildbot</li>
![[Buildbot Logo]](/chrome/site/header-text-transparent.png)