[Cdd-commits] r1128 - in cdd/trunk/webtools: . templates
CDD Subversion Commit
noreply at alioth.debian.org
Mon Oct 6 21:04:07 UTC 2008
Author: tille
Date: Mon Oct 6 21:04:06 2008
New Revision: 1128
Modified:
cdd/trunk/webtools/bugs.py
cdd/trunk/webtools/templates/bugs.xhtml
Log:
Output becomes somehow similar to original bug overview page
Modified: cdd/trunk/webtools/bugs.py
==============================================================================
--- cdd/trunk/webtools/bugs.py (original)
+++ cdd/trunk/webtools/bugs.py Mon Oct 6 21:04:06 2008
@@ -24,15 +24,27 @@
def __init__(self, pkgname):
self.pkgname = None
self.bugs = [] # open bugs
+ self.nbugs = 0
self.done = [] # closed bugs
+ self.ndone = 0
bugs = bts.query('src:' + pkgname)
if bugs:
for bug in bugs:
+ # append a complete dictionary instead of a bug object
+ # Rationale: Calling methods inside the template does not
+ # seem to work and has to be done in any case to
+ # circumvent encoding problems
+ bugdict = {'bug': bug.getBug(),
+ 'summary': bug.getSummary(),
+ 'severity': bug.getSeverity()
+ }
if bug.getStatus() == 'done':
- self.done.append(bug)
+ self.done.append(bugdict)
+ self.ndone += 1
else:
- self.bugs.append(bug)
+ self.bugs.append(bugdict)
+ self.nbugs += 1
self.pkgname = pkgname
@@ -55,6 +67,10 @@
cdeps.GetAllDependencies(source=0) # Set source=1 in case source pakcages shoudl be displayed
packages = cdeps.GetNamesOnlyDict(dependencytypes=('depends','recommends','suggests'))
+outputdir = cdeps.CheckOrCreateOutputDir('bugs')
+if outputdir == None:
+ exit(-1)
+
data = cdeps.data
data['tasks'] = cdeps.GetTaskDescDict()
data['taskskeys'] = cdeps.metapackagekeys
@@ -72,9 +88,6 @@
else:
data['projectadvertising'] = None
-bugsdir='bugs'
-os.system("mkdir -p %s" % (bugsdir))
-
allbugs = {}
for task in packages.keys():
pkgbugs = []
@@ -95,7 +108,7 @@
data['task'] = task
data['pkgbugs'] = allbugs[task]
template = loader.load('bugs.xhtml')
- f = open(bugsdir + '/' + task + '.bugs', 'w')
+ f = open(outputdir + '/' + task + '.html', 'w')
print >> f, template.generate(**data).render('xhtml')
f.close()
Modified: cdd/trunk/webtools/templates/bugs.xhtml
==============================================================================
--- cdd/trunk/webtools/templates/bugs.xhtml (original)
+++ cdd/trunk/webtools/templates/bugs.xhtml Mon Oct 6 21:04:06 2008
@@ -29,8 +29,8 @@
<div class="link"><a href="index.html">${indexlink}</a></div>
<py:for each="t in taskskeys">
<div py:choose="t">
- <span py:when="task" class="curlink"><a href="${t}_bugs.html">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
- <span py:otherwise="" class="link"><a href="${t}_bugs.html">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
+ <span py:when="task" class="curlink"><a href="${t}.html">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
+ <span py:otherwise="" class="link"><a href="${t}.html">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
</div>
</py:for>
</div>
@@ -40,24 +40,44 @@
<div class="pageBody">
<h1>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} bugs</h1>
<span py:if="pkgbugs != None">
-<py:for each="pkgbug in pkgbugs">
- <table class="project" summary="${pkgbug.pkgname}">
- <tbody>
- <tr class="bug">
- <td class="project-name">
- <a name="${pkgbug.pkgname}" id="${pkgbug.pkgname}"/>
- <strong>${pkgbug.pkgname.capitalize()}</strong>
- <span py:if="pkgbug.bugs != None">
- <py:for each="bug in pkgbug.bugs">
- $bug.getBug(): $bug.getSummary() ($bug.getSeverity())<br />
- $bug.bug: $bug.summary ($bug.severity) <br /><br />
- </py:for>
- </span>
- </td>
- </tr>
- </tbody>
- </table>
-</py:for>
+<table class="bugs">
+ <py:for each="pkgbug in pkgbugs">
+ <span py:if="pkgbug.bugs != None">
+ <tr>
+ <td class="package">${pkgbug.pkgname} (${pkgbug.nbugs})</td>
+ <td colspan="2"></td>
+ </tr>
+ <py:for each="bug in pkgbug.bugs">
+ <tr>
+ <td class="bugid ${bug['severity']}"><a href="http://bugs.debian.org/${bug['bug']}">${bug['bug']}</a></td>
+ <td class="summary ${bug['severity']}">${bug['summary']}</td>
+ <td class="severity ${bug['severity']}">${bug['severity']}</td>
+ </tr>
+ </py:for>
+ </span>
+ </py:for>
+</table>
+</span>
+
+<h1>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} done bugs</h1>
+<span py:if="pkgbugs != None">
+<table class="bugs">
+ <py:for each="pkgbug in pkgbugs">
+ <span py:if="pkgbug.done != None">
+ <tr>
+ <td class="package">${pkgbug.pkgname} (${pkgbug.ndone}))</td>
+ <td colspan="2"></td>
+ </tr>
+ <py:for each="bug in pkgbug.done">
+ <tr>
+ <td class="bugid ${bug['severity']}"><a href="http://bugs.debian.org/${bug['bug']}">${bug['bug']}</a></td>
+ <td class="summary ${bug['severity']}">${bug['summary']}</td>
+ <td class="severity ${bug['severity']}">${bug['severity']}</td>
+ </tr>
+ </py:for>
+ </span>
+ </py:for>
+</table>
</span>
</div>
</td>
More information about the Cdd-commits
mailing list