[Buildbot-devel] refresh property for the waterfall display
Alexander Lorenz
lorenz at testingtech.de
Thu Jun 8 08:56:25 UTC 2006
thanks!
i'll test it as soon as possible ...
regards,
alex
Mark Pauley wrote:
> I actually added this and ported it forward to the latest released
> buildbot source.
>
> I'm too busy to do more at this very moment, but if someone would like
> to write a test and submit this to the integration gods:
>
>
>
> Index: buildbot/buildbot/status/html.py
> ===================================================================
> RCS file: /cvsroot/buildbot/buildbot/buildbot/status/html.py,v
> retrieving revision 1.84
> diff -U3 -r1.84 html.py
> --- buildbot/buildbot/status/html.py 21 May 2006 21:28:26 -0000
> 1.84
> +++ buildbot/buildbot/status/html.py 7 Jun 2006 22:18:41 -0000
> @@ -144,6 +144,7 @@
> class HtmlResource(Resource):
> css = None
> + refresh = None
> contentType = "text/html; charset=UTF-8"
> def render(self, request):
> data = self.content(request)
> @@ -163,6 +164,9 @@
> ' xml:lang="en">\n')
> data += "<head>\n"
> data += " <title>" + self.title + "</title>\n"
> + if self.refresh:
> + data += ' <meta http-equiv="refresh" '
> + data += 'content="' + self.refresh + '"/>\n'
> if self.css:
> # TODO: use some sort of relative link up to the root
> page, so
> # this css can be used from child pages too
> @@ -321,8 +325,7 @@
> b = self.build
> buildbotURL = self.status.getBuildbotURL()
> projectName = self.status.getProjectName()
> - data = '<div class="title"><a
> href="%s">%s</a></div>\n'%(buildbotURL,
> -
> projectName)
> + data = "<a href=\"%s\">%s</a>\n" % (buildbotURL, projectName)
> # the color in the following line gives python-mode trouble
> data += ("<h1>Build <a href=\"%s\">%s</a>:#%d</h1>\n"
> "<h2>Reason:</h2>\n%s\n"
> @@ -1060,7 +1063,8 @@
> """This builds the main status page, with the waterfall display, and
> all child pages."""
> title = "BuildBot"
> - def __init__(self, status, changemaster, categories, css=None):
> + def __init__(self, status, changemaster, categories, css=None,
> + refresh=None):
> HtmlResource.__init__(self)
> self.status = status
> self.changemaster = changemaster
> @@ -1069,6 +1073,7 @@
> if p:
> self.title = "BuildBot: %s" % p
> self.css = css
> + self.refresh = refresh
> def body(self, request):
> "This method builds the main waterfall display."
> @@ -1539,7 +1544,8 @@
> favicon = None
> robots_txt = None
> - def __init__(self, status, control, changemaster, categories, css):
> + def __init__(self, status, control, changemaster, categories, css,
> + refresh):
> """
> @type status: L{buildbot.status.builder.Status}
> @type control: L{buildbot.master.Control}
> @@ -1551,8 +1557,9 @@
> self.changemaster = changemaster
> self.categories = categories
> self.css = css
> + self.refresh = refresh
> waterfall = WaterfallStatusResource(self.status, changemaster,
> - categories, css)
> + categories, css, refresh)
> self.putChild("", waterfall)
> def render(self, request):
> @@ -1630,7 +1637,7 @@
> def __init__(self, http_port=None, distrib_port=None,
> allowForce=True,
> categories=None, css=buildbot_css,
> favicon=buildbot_icon,
> - robots_txt=None):
> + refresh=None, robots_txt=None):
> """To have the buildbot run its own web server, pass a port
> number to
> C{http_port}. To have it run a web.distrib
> <http://web.distrib> server
> @@ -1679,6 +1686,10 @@
> Defaults to the buildbot/buildbot.png image
> provided
> in the distribution. Can be set to None to avoid
> using a favicon at all.
> +
> + @type refresh: string
> + @param refresh: if set, emit a meta refresh tag in the head
> of page
> +
> @type robots_txt: string
> @param robots_txt: if set, provide the pathname of a
> robots.txt file.
> @@ -1705,6 +1716,7 @@
> self.categories = categories
> self.css = css
> self.favicon = favicon
> + self.refresh = refresh
> self.robots_txt = robots_txt
> def __repr__(self):
> @@ -1730,7 +1742,7 @@
> control = None
> change_svc = self.parent.change_svc
> sr = StatusResource(status, control, change_svc, self.categories,
> - self.css)
> + self.css, self.refresh)
> sr.favicon = self.favicon
> sr.robots_txt = self.robots_txt
> self.site = server.Site(sr)
>
>
> ------------------------------------------------------------------------
>
> Index: buildbot/buildbot/status/html.py
> ===================================================================
> RCS file: /cvsroot/buildbot/buildbot/buildbot/status/html.py,v
> retrieving revision 1.84
> diff -U3 -r1.84 html.py
> --- buildbot/buildbot/status/html.py 21 May 2006 21:28:26 -0000 1.84
> +++ buildbot/buildbot/status/html.py 7 Jun 2006 22:18:41 -0000
> @@ -144,6 +144,7 @@
>
> class HtmlResource(Resource):
> css = None
> + refresh = None
> contentType = "text/html; charset=UTF-8"
> def render(self, request):
> data = self.content(request)
> @@ -163,6 +164,9 @@
> ' xml:lang="en">\n')
> data += "<head>\n"
> data += " <title>" + self.title + "</title>\n"
> + if self.refresh:
> + data += ' <meta http-equiv="refresh" '
> + data += 'content="' + self.refresh + '"/>\n'
> if self.css:
> # TODO: use some sort of relative link up to the root page, so
> # this css can be used from child pages too
> @@ -321,8 +325,7 @@
> b = self.build
> buildbotURL = self.status.getBuildbotURL()
> projectName = self.status.getProjectName()
> - data = '<div class="title"><a href="%s">%s</a></div>\n'%(buildbotURL,
> - projectName)
> + data = "<a href=\"%s\">%s</a>\n" % (buildbotURL, projectName)
> # the color in the following line gives python-mode trouble
> data += ("<h1>Build <a href=\"%s\">%s</a>:#%d</h1>\n"
> "<h2>Reason:</h2>\n%s\n"
> @@ -1060,7 +1063,8 @@
> """This builds the main status page, with the waterfall display, and
> all child pages."""
> title = "BuildBot"
> - def __init__(self, status, changemaster, categories, css=None):
> + def __init__(self, status, changemaster, categories, css=None,
> + refresh=None):
> HtmlResource.__init__(self)
> self.status = status
> self.changemaster = changemaster
> @@ -1069,6 +1073,7 @@
> if p:
> self.title = "BuildBot: %s" % p
> self.css = css
> + self.refresh = refresh
>
> def body(self, request):
> "This method builds the main waterfall display."
> @@ -1539,7 +1544,8 @@
> favicon = None
> robots_txt = None
>
> - def __init__(self, status, control, changemaster, categories, css):
> + def __init__(self, status, control, changemaster, categories, css,
> + refresh):
> """
> @type status: L{buildbot.status.builder.Status}
> @type control: L{buildbot.master.Control}
> @@ -1551,8 +1557,9 @@
> self.changemaster = changemaster
> self.categories = categories
> self.css = css
> + self.refresh = refresh
> waterfall = WaterfallStatusResource(self.status, changemaster,
> - categories, css)
> + categories, css, refresh)
> self.putChild("", waterfall)
>
> def render(self, request):
> @@ -1630,7 +1637,7 @@
>
> def __init__(self, http_port=None, distrib_port=None, allowForce=True,
> categories=None, css=buildbot_css, favicon=buildbot_icon,
> - robots_txt=None):
> + refresh=None, robots_txt=None):
> """To have the buildbot run its own web server, pass a port number to
> C{http_port}. To have it run a web.distrib server
>
> @@ -1679,6 +1686,10 @@
> Defaults to the buildbot/buildbot.png image provided
> in the distribution. Can be set to None to avoid
> using a favicon at all.
> +
> + @type refresh: string
> + @param refresh: if set, emit a meta refresh tag in the head of page
> +
>
> @type robots_txt: string
> @param robots_txt: if set, provide the pathname of a robots.txt file.
> @@ -1705,6 +1716,7 @@
> self.categories = categories
> self.css = css
> self.favicon = favicon
> + self.refresh = refresh
> self.robots_txt = robots_txt
>
> def __repr__(self):
> @@ -1730,7 +1742,7 @@
> control = None
> change_svc = self.parent.change_svc
> sr = StatusResource(status, control, change_svc, self.categories,
> - self.css)
> + self.css, self.refresh)
> sr.favicon = self.favicon
> sr.robots_txt = self.robots_txt
> self.site = server.Site(sr)
>
> ------------------------------------------------------------------------
>
>
>
> On Jun 6, 2006, at 9:20 AM, Fred Drake wrote:
>
>> On 6/6/06, Alexander Lorenz <lorenz at testingtech.de
>> <mailto:lorenz at testingtech.de>> wrote:
>>> an also nice-to-have would be a refresh property for the waterfall
>>> display (perhaps with a time value in seconds) , so you can watch the
>>> build progressing without having to press the refresh button endlessly
>>> to see if a step already finished and so on ...
>>
>> Indeed! Then I wouldn't need to install Opera just to get the
>> "Refresh every..." feature. ;-)
>>
>>
>> -Fred
>>
>> --
>> Fred L. Drake, Jr. <fdrake at gmail.com>
>> "Every sin is the result of a collaboration." --Lucius Annaeus Seneca
>>
>>
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> <mailto:Buildbot-devel at lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
>
> _Mark
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20060608/f5d45a33/attachment.html>
More information about the devel
mailing list