[Buildbot-devel] refresh property for the waterfall display

Neal Norwitz nnorwitz at gmail.com
Fri Jun 9 05:31:19 UTC 2006


Ideally the refresh would be based on the next expected event +/- some
interval with suitable min and max.  That would minimize useless
refreshes and get you the info in a reasonably short time span,
assuming the calc of next event is half decent.

n
--

On 6/7/06, Mark Pauley <mpauley at apple.com> 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 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> 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
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
>  _Mark
>
>
>
>
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
>
>




More information about the devel mailing list