]> piware.de Git - bin.git/blobdiff - workitems.py
workitems: fix https wiki link presentation
[bin.git] / workitems.py
index dea7768d32facd932503b2cac1c59a6ad1aa5fc5..e90b09d8b1764262b6472f11e6d86f9f792605a8 100755 (executable)
@@ -2,6 +2,7 @@
 
 import urllib, re, sys, optparse, os.path, datetime
 import sqlite3 as dbapi2
+from xml.sax.saxutils import escape
 
 blueprints_base_url = 'https://blueprints.launchpad.net'
 
@@ -135,7 +136,7 @@ def get_blueprint_workitems(blueprint_url):
 
         if '</p>' in l:
             end = True
-        l = l.replace('<br />', '').replace('</div>', '').replace('</p>', '').strip()
+        l = l.replace('<br />', '').replace('</div>', '').replace('</p>', '').replace('<wbr></wbr>', '').strip()
 
         if not l:
             break
@@ -436,14 +437,14 @@ def html(db):
     completion.sort(key=lambda k: k[1], reverse=True)
 
     for (bp, percent) in completion:
-        if bp.startswith('http:'):
+        if bp.startswith('http:') or bp.startswith('https:'):
             url = bp
         else:
-            url = '%s/ubuntu/+spec/%s' % (blueprints_base_url, bp)
+            url = '%s/ubuntu/+spec/%s' % (blueprints_base_url, escape(bp))
         print '  <tr><td><a href="%s">%s</a></td> <td>%i/%i/%i</td> <td>%i%%</td> <td>%s</td></tr>' % (
-                url, bp, data[bp][0], data[bp][2],
+                url, escape(bp), data[bp][0], data[bp][2],
                 data[bp][1], percent,
-                data[bp][-1])
+                escape(data[bp][-1]))
 
     print '</table>'
 
@@ -464,7 +465,7 @@ def html(db):
     for (a, percent) in completion:
         url = '%s/~%s/+specs?role=assignee' % (blueprints_base_url, a)
         print '  <tr><td><a href="%s">%s</a></td> <td>%i/%i/%i</td> <td>%i%%</td></tr>' % (
-                url, a, data[a][0], data[a][2],
+                url, escape(a), data[a][0], data[a][2],
                 data[a][1], percent)
     print '</table>'