[Cdd-commits] r1126 - in cdd/trunk/webtools: . templates

CDD Subversion Commit noreply at alioth.debian.org
Sun Oct 5 19:51:12 UTC 2008


Author: tille
Date: Sun Oct  5 19:51:12 2008
New Revision: 1126

Added:
   cdd/trunk/webtools/templates/bugs.xhtml
Modified:
   cdd/trunk/webtools/bugs.py
Log:
Very primitive genshi template to create html pages


Modified: cdd/trunk/webtools/bugs.py
==============================================================================
--- cdd/trunk/webtools/bugs.py	(original)
+++ cdd/trunk/webtools/bugs.py	Sun Oct  5 19:51:12 2008
@@ -35,10 +35,19 @@
 				self.bugs.append(bug)
 		self.pkgname = pkgname
 
+
+# Define directories used
+current_dir  = os.path.dirname(__file__)
+locale_dir   = os.path.join(current_dir, 'locale')
+template_dir = os.path.join(current_dir, 'templates')
+
 # Initialize i18n
 domain = 'dis-webtools'
 gettext.install(domain)
 
+# initialize gensi
+loader = TemplateLoader([template_dir], auto_reload=True)
+
 cdeps=DisDependencies(argv[1])
 if cdeps.data['pkglist'] == '':
 	print >>stderr, "Config file webconf/%s.conf is lacking pkglist field." % (argv[1])
@@ -47,7 +56,11 @@
 packages = cdeps.GetNamesOnlyDict(dependencytypes=('depends','recommends','suggests'))
 
 data = cdeps.data
-data['tasks']            = cdeps.GetTaskDescDict()
+data['tasks']        = cdeps.GetTaskDescDict()
+data['taskskeys']    = cdeps.metapackagekeys
+data['lang']         = 'en'
+data['othertasks']   = _("Links to other tasks")
+data['indexlink']    = _("Index of all tasks")
 if data['advertising'] != None:
 	# If data['advertising'] is enclosed in _() gettext tries to ask for translations of 'advertising'
 	# which makes no sense.  That's why this is masked by an extra string variable
@@ -79,23 +92,10 @@
 		allbugs[task] = None
 
 for task in packages.keys():
-	fp = open(bugsdir + '/' + task + '.bugs', 'w')
-	if allbugs[task]:
-		print >>fp, "< open bugs in task %s >" % task
-		for pkgbugs in allbugs[task]:
-			if pkgbugs.bugs:
-				print >>fp, "<< %s >>" % ( pkgbugs.pkgname )
-				for bug in pkgbugs.bugs:
-					print >>fp, "%s: %s (%s)" % (bug.getBug(), bug.getSummary(), bug.getSeverity())
-			else:
-				print >>fp, "<< only closed bugs for %s >>" % ( pkgbugs.pkgname )
-		print >>fp, "\n< closed bugs in task %s >" % task
-		for pkgbugs in allbugs[task]:
-			if pkgbugs.done:
-				print >>fp, "<< done bugs for %s >>" % ( pkgbugs.pkgname )
-				for bug in pkgbugs.done:
-					print >>fp, "%s: %s (%s)" % (bug.getBug(), bug.getSummary(), bug.getSeverity())
-			else:
-				print >>fp, "<< there are no known closed bugs for %s >>" % ( pkgbugs.pkgname )
-		  
-	fp.close()
+	data['task']    = task
+	data['pkgbugs'] = allbugs[task]
+	template = loader.load('bugs.xhtml')
+	f = open(bugsdir + '/' + task + '.bugs', 'w')
+	print >> f, template.generate(**data).render('xhtml')
+
+	f.close()

Added: cdd/trunk/webtools/templates/bugs.xhtml
==============================================================================
--- (empty file)
+++ cdd/trunk/webtools/templates/bugs.xhtml	Sun Oct  5 19:51:12 2008
@@ -0,0 +1,67 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} bugs</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project"/></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+	<td class="left">
+		<span class="section">${othertasks}</span>
+		<div class="section">
+			<div class="sectionTop"/>
+			<div class="row">
+                            <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>
+                            </div>
+                          </py:for>
+                        </div>
+		</div>
+	</td>
+	<td class="main">
+		<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>
+</span>
+		</div>
+	</td>
+</tr>
+</table>
+</body>
+</html>



More information about the Cdd-commits mailing list