[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