changeset 123:cccfa117e344

Template cleanup
author cmlenz
date Mon, 08 Aug 2005 18:03:49 +0000
parents 0dafd12f6f5f
children 540ffa358d80
files bitten/trac_ext/templates/build.cs bitten/trac_ext/web_ui.py
diffstat 2 files changed, 66 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/trac_ext/templates/build.cs
+++ b/bitten/trac_ext/templates/build.cs
@@ -3,61 +3,61 @@
  <div id="content" class="build">
   <h1><?cs var:title ?></h1><?cs
 
-  if:build.mode == 'overview' ?><?cs
-   each:config = build.configs ?>
+  if:page.mode == 'overview' ?><?cs
+   each:config = configs ?>
     <h2><a href="<?cs var:config.href ?>"><?cs var:config.label ?></a></h2><?cs
     if:config.description ?><div class="description"><?cs
      var:config.description ?></div><?cs
     /if ?><?cs
    /each ?><?cs
-   if:build.can_create ?><div class="buttons">
+   if:config.can_create ?><div class="buttons">
     <form method="get" action=""><div>
      <input type="hidden" name="action" value="new" />
      <input type="submit" value="Add configuration" />
     </div></form></div><?cs
    /if ?></div><?cs
 
-  elif:build.mode == 'edit_config' ?>
+  elif:page.mode == 'edit_config' ?>
    <form class="config" method="post" action="">
     <table><tr>
      <td class="name"><label>Name:<br />
-      <input type="text" name="name" value="<?cs var:build.config.name ?>" />
+      <input type="text" name="name" value="<?cs var:config.name ?>" />
      </label></td>
      <td class="label"><label>Label (for display):<br />
       <input type="text" name="label" size="32" value="<?cs
-        var:build.config.label ?>" />
+        var:config.label ?>" />
      </label></td>
     </tr><tr>
      <td class="active"><label><input type="checkbox" name="active"<?cs
-       if:build.config.active ?> checked="checked"<?cs /if ?> /> Active
+       if:config.active ?> checked="checked"<?cs /if ?> /> Active
      </label></td>
      <td class="path"><label>Repository path:<br />
       <input type="text" name="path" size="48" value="<?cs
-        var:build.config.path ?>" />
+        var:config.path ?>" />
      </label></td>
     </tr><tr>
      <td colspan="2"><fieldset class="iefix">
       <label for="description">Description (you may use <a tabindex="42" href="<?cs
         var:trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label>
       <p><textarea id="description" name="description" class="wikitext" rows="5" cols="78"><?cs
-        var:build.config.description ?></textarea></p>
+        var:config.description ?></textarea></p>
       <script type="text/javascript" src="<?cs
         var:htdocs_location ?>js/wikitoolbar.js"></script>
      </fieldset></td>
     </tr></table>
     <div class="buttons">
      <input type="hidden" name="action" value="<?cs
-       if:build.config.exists ?>edit<?cs else ?>new<?cs /if ?>" />
+       if:config.exists ?>edit<?cs else ?>new<?cs /if ?>" />
      <input type="submit" value="<?cs
-       if:build.config.exists ?>Save changes<?cs else ?>Create<?cs /if ?>" />
+       if:config.exists ?>Save changes<?cs else ?>Create<?cs /if ?>" />
      <input type="submit" name="cancel" value="Cancel" />
     </div>
    </form><?cs
-   if:build.config.exists ?><div class="platforms">
+   if:config.exists ?><div class="platforms">
     <form class="platforms" method="post" action="">
      <h2>Target Platforms</h2><?cs
-      if:len(build.platforms) ?><ul><?cs
-       each:platform = build.platforms ?>
+      if:len(config.platforms) ?><ul><?cs
+       each:platform = config.platforms ?>
         <li><input type="checkbox" name="delete_platform" value="<?cs
          var:platform.id ?>"> <a href="<?cs
          var:platform.href ?>"><?cs var:platform.name ?></a>
@@ -72,41 +72,43 @@
    </div><?cs
    /if ?><?cs
 
-  elif:build.mode == 'view_config' ?><ul>
-   <li>Active: <?cs if:build.config.active ?>yes<?cs else ?>no<?cs /if ?></li>
-   <li>Path: <?cs if:build.config.path ?><a href="<?cs
-     var:build.config.browser_href ?>"><?cs
-     var:build.config.path ?></a></li><?cs /if ?></ul><?cs
-   if:build.config.description ?><div class="description"><?cs
-     var:build.config.description ?></div><?cs
+  elif:page.mode == 'view_config' ?><ul>
+   <li>Active: <?cs if:config.active ?>yes<?cs else ?>no<?cs /if ?></li>
+   <li>Path: <?cs if:config.path ?><a href="<?cs
+     var:config.browser_href ?>"><?cs
+     var:config.path ?></a></li><?cs /if ?></ul><?cs
+   if:config.description ?><div class="description"><?cs
+     var:config.description ?></div><?cs
    /if ?><?cs
-   if:build.config.can_modify ?><div class="buttons">
+   if:config.can_modify ?><div class="buttons">
     <form method="get" action=""><div>
      <input type="hidden" name="action" value="edit" />
      <input type="submit" value="Edit configuration" />
     </div></form><?cs
    /if ?><?cs
-   if:len(build.platforms) ?>
+   if:len(config.platforms) ?>
     <table class="listing" id="builds"><thead><tr><th>Changeset</th><?cs
-    each:platform = build.platforms ?><th><?cs var:platform.name ?><?cs
+    each:platform = config.platforms ?><th><?cs var:platform.name ?><?cs
     /each ?></tr></thead><?cs
-    if:len(build.builds) ?><tbody><?cs
-     each:rev = build.builds ?><tr>
+    if:len(config.builds) ?><tbody><?cs
+     each:rev = config.builds ?><tr>
       <th class="rev" scope="row"><a href="<?cs
         var:rev.href ?>" title="View Changeset">[<?cs
         var:name(rev) ?>]</a></th><?cs
-      each:platform = build.platforms ?><?cs
-       if:len(rev[platform.id]) ?><td class="<?cs
-        var:rev[platform.id].cls ?>"><a href="<?cs
-        var:rev[platform.id].href ?>" title="View build results"><?cs
-        var:rev[platform.id].slave.name ?></a> (<?cs
-        var:rev[platform.id].slave.os ?> <?cs
-        var:rev[platform.id].slave.os.version ?>)<br /><?cs
-        if:rev[platform.id].status == 'in progress' ?>started <?cs
-         var:rev[platform.id].started_delta ?> ago<?cs
-        else ?>took <?cs
-         var:rev[platform.id].duration ?></td><?cs
-        /if ?><?cs
+      each:platform = config.platforms ?><?cs
+       if:len(rev[platform.id]) ?><?cs
+        with:build = rev[platform.id] ?><td class="<?cs
+         var:build.cls ?>"><a href="<?cs
+         var:build.href ?>" title="View build results"><?cs
+         var:build.slave.name ?></a> (<?cs
+         var:build.slave.os ?> <?cs
+         var:build.slave.os.version ?>)<br /><?cs
+         if:build.status == 'in progress' ?>started <?cs
+          var:build.started_delta ?> ago<?cs
+         else ?>took <?cs
+          var:build.duration ?></td><?cs
+         /if ?><?cs
+        /with ?><?cs
        else ?><td>&mdash;</td><?cs
        /if ?><?cs
       /each ?></tr><?cs
@@ -114,16 +116,16 @@
     /if ?></table><?cs
    /if ?></div><?cs
 
-  elif:build.mode == 'edit_platform' ?>
+  elif:page.mode == 'edit_platform' ?>
    <form class="platform" method="post" action="">
     <div class="field"><label>Name:<br />
-     <input type="text" name="name" value="<?cs var:build.platform.name ?>" />
+     <input type="text" name="name" value="<?cs var:platform.name ?>" />
     </label></div>
     <h2>Rules</h2>
     <table><thead><tr>
      <th>Property name</th><th>Match pattern</th>
     </tr></thead><tbody><?cs
-     each:rule = build.platform.rules ?><tr>
+     each:rule = platform.rules ?><tr>
       <td><input type="text" name="property_<?cs var:name(rule) ?>" value="<?cs
        var:rule.property ?>" /></td>
       <td><input type="text" name="pattern_<?cs var:name(rule) ?>" value="<?cs
@@ -137,30 +139,31 @@
     <div class="buttons">
      <form method="get" action=""><div>
      <input type="hidden" name="action" value="<?cs
-       if:build.platform.exists ?>edit<?cs else ?>new<?cs /if ?>" />
+       if:platform.exists ?>edit<?cs else ?>new<?cs /if ?>" />
       <input type="hidden" name="platform" value="<?cs
-       var:build.platform.id ?>" />
+       var:platform.id ?>" />
       <input type="submit" value="<?cs
-       if:build.platform.exists ?>Save changes<?cs else ?>Add platform<?cs
+       if:platform.exists ?>Save changes<?cs else ?>Add platform<?cs
        /if ?>" />
       <input type="submit" name="cancel" value="Cancel" />
      </div></form>
     </div>
    </form><?cs
 
-  elif:build.mode == 'view_build' ?>
+  elif:page.mode == 'view_build' ?>
    <p class="trigger">Triggered by: Changeset <a href="<?cs
      var:build.chgset_href ?>">[<?cs var:build.rev ?>]</a> of <a href="<?cs
      var:build.config.href ?>"><?cs var:build.config.name ?></a></p>
    <p class="slave">Built by: <strong title="<?cs
      var:build.slave.ip_address ?>"><?cs var:build.slave.name ?></strong> (<?cs
      var:build.slave.os ?> <?cs var:build.slave.os.version ?><?cs
-     if:build.slave.machien ?> on <?cs var:build.slave.machine ?><?cs
+     if:build.slave.machine ?> on <?cs var:build.slave.machine ?><?cs
      /if ?>)</p>
    <p class="time">Completed: <?cs var:build.started ?> (<?cs
      var:build.started_delta ?> ago)<br />Took: <?cs var:build.duration ?></p><?cs
   each:step = build.steps ?>
-   <h2><?cs var:step.name ?> (<?cs var:step.duration ?>)</h2>
+   <h2 id="<?cs var:step.name ?>"><?cs var:step.name ?> (<?cs
+     var:step.duration ?>)</h2>
    <?cs if:len(step.reports) ?>
     <div class="reports"><h3>Generated Reports</h3><ul>
      <?cs each:report = step.reports ?>
--- a/bitten/trac_ext/web_ui.py
+++ b/bitten/trac_ext/web_ui.py
@@ -307,13 +307,13 @@
             description = config.description
             if description:
                 description = wiki_to_html(description, self.env, req)
-            req.hdf['build.configs.%d' % idx] = {
+            req.hdf['configs.%d' % idx] = {
                 'name': config.name, 'label': config.label or config.name,
                 'path': config.path, 'description': description,
-                'href': self.env.href.build(config.name)
+                'href': self.env.href.build(config.name),
             }
-        req.hdf['build.mode'] = 'overview'
-        req.hdf['build.can_create'] = req.perm.has_permission('BUILD_CREATE')
+        req.hdf['page.mode'] = 'overview'
+        req.hdf['config.can_create'] = req.perm.has_permission('BUILD_CREATE')
 
     def _render_config(self, req, config_name):
         config = BuildConfig.fetch(self.env, config_name)
@@ -323,25 +323,24 @@
         description = config.description
         if description:
             description = wiki_to_html(description, self.env, req)
-        req.hdf['build.config'] = {
+        req.hdf['config'] = {
             'name': config.name, 'label': config.label, 'path': config.path,
             'active': config.active, 'description': description,
             'browser_href': self.env.href.browser(config.path),
             'can_modify': req.perm.has_permission('BUILD_MODIFY')
         }
-        req.hdf['build.mode'] = 'view_config'
+        req.hdf['page.mode'] = 'view_config'
 
         platforms = TargetPlatform.select(self.env, config=config_name)
-        req.hdf['build.platforms'] = [
+        req.hdf['config.platforms'] = [
             {'name': platform.name, 'id': platform.id} for platform in platforms
         ]
 
         repos = self.env.get_repository(req.authname)
         try:
             root = repos.get_node(config.path)
-            num = 0
             for idx, (path, rev, chg) in enumerate(root.get_history()):
-                prefix = 'build.builds.%d' % rev
+                prefix = 'config.builds.%d' % rev
                 req.hdf[prefix + '.href'] = self.env.href.changeset(rev)
                 for build in Build.select(self.env, config=config.name, rev=rev):
                     if build.status == Build.PENDING:
@@ -356,7 +355,7 @@
         config = BuildConfig.fetch(self.env, config_name)
         if config:
             req.perm.assert_permission('BUILD_MODIFY')
-            req.hdf['build.config'] = {
+            req.hdf['config'] = {
                 'name': config.name, 'label': config.label, 'path': config.path,
                 'active': config.active, 'description': config.description,
                 'exists': config.exists
@@ -366,7 +365,7 @@
                                % escape(config.label or config.name)
             for idx, platform in enumerate(TargetPlatform.select(self.env,
                                                                  config_name)):
-                req.hdf['build.platforms.%d' % idx] = {
+                req.hdf['config.platforms.%d' % idx] = {
                     'id': platform.id, 'name': platform.name,
                     'href': self.env.href.build(config_name, action='edit',
                                                 platform=platform.id)
@@ -374,7 +373,7 @@
         else:
             req.perm.assert_permission('BUILD_CREATE')
             req.hdf['title'] = 'Create Build Configuration'
-        req.hdf['build.mode'] = 'edit_config'
+        req.hdf['page.mode'] = 'edit_config'
 
     def _render_platform_form(self, req, platform):
         req.perm.assert_permission('BUILD_MODIFY')
@@ -383,12 +382,12 @@
                                % escape(platform.name)
         else:
             req.hdf['title'] = 'Add Target Platform'
-        req.hdf['build.platform'] = {
+        req.hdf['platform'] = {
             'name': platform.name, 'id': platform.id, 'exists': platform.exists,
             'rules': [{'property': propname, 'pattern': pattern}
                       for propname, pattern in platform.rules] or [('', '')]
         }
-        req.hdf['build.mode'] = 'edit_platform'
+        req.hdf['page.mode'] = 'edit_platform'
 
     def _render_build(self, req, build_id):
         build = Build.fetch(self.env, build_id)
@@ -400,7 +399,7 @@
         req.hdf['title'] = 'Build %s - %s' % (build_id,
                                               status2title[build.status])
         req.hdf['build'] = self._build_to_hdf(req, build, include_output=True)
-        req.hdf['build.mode'] = 'view_build'
+        req.hdf['page.mode'] = 'view_build'
 
         config = BuildConfig.fetch(self.env, build.config)
         req.hdf['build.config'] = {
@@ -435,7 +434,8 @@
         for step in BuildStep.select(self.env, build=build.id, db=db):
             steps.append({
                 'name': step.name, 'description': step.description,
-                'duration': pretty_timedelta(step.started, step.stopped)
+                'duration': pretty_timedelta(step.started, step.stopped),
+                'failed': step.status == BuildStep.FAILURE
             })
             if include_output:
                 for log in BuildLog.select(self.env, build=build.id,
Copyright (C) 2012-2017 Edgewall Software