[Blends-commit] r1896 - in blends/trunk/webtools: . templates

Debian Pure Blends Subversion Commit noreply at alioth.debian.org
Fri Oct 2 20:40:45 UTC 2009


Author: tille
Date: Fri Oct  2 20:40:45 2009
New Revision: 1896
URL: http://svn.debian.org/viewsvn/blends?rev=1896&view=rev

Log:
Add real uploader in case of maintainer groups


Modified:
   blends/trunk/webtools/blendstasktools.py
   blends/trunk/webtools/templates/tasks.xhtml

Modified: blends/trunk/webtools/blendstasktools.py
URL: http://svn.debian.org/viewsvn/blends/blends/trunk/webtools/blendstasktools.py?rev=1896&view=diff&r1=1896&r2=1895&p1=blends/trunk/webtools/blendstasktools.py&p2=blends/trunk/webtools/blendstasktools.py
==============================================================================
--- blends/trunk/webtools/blendstasktools.py	(original)
+++ blends/trunk/webtools/blendstasktools.py	Fri Oct  2 20:40:45 2009
@@ -344,6 +344,11 @@
             SELECT DISTINCT package, enhances FROM packages WHERE enhances LIKE $1"""
 curs.execute(query)
 
+# Obtain e-mail address of latest uploader of source package
+query = """PREPARE query_get_latest_uploader (text) AS
+           SELECT changed_by FROM upload_history WHERE source = $1 ORDER BY version DESC LIMIT 1;"""
+curs.execute(query)
+
 #########################################################################################
 
 def ReadConfig(blendname=''):
@@ -672,6 +677,7 @@
             self.desc['en']['short'] = MarkupString(unicode(row['description'], 'utf-8'), self.pkg, 'ShortDesc')
             self.desc['en']['long']  = Markup(render_longdesc(row['long_description'].splitlines()))
             (_name, _url) = email.Utils.parseaddr(row['maintainer'])
+            self.properties['maintainer'] = unicode(row['maintainer'], 'utf-8')
             self.responsible = '<a href="mailto:%s">%s</a>' % (_url, unicode(_name, 'utf-8'))
 
         if self.properties.has_key('source'):
@@ -696,6 +702,9 @@
             # We are only interested in source packages (for instance for Bugs page)
             if source == 1:
                 self.pkg = self.properties['source']
+            # Stop using source package in self.pkg because we need the source package to obtain latest uploaders and
+            # and bugs should be rendered in the same job - so we need the differentiation anyway
+            self.src = self.properties['source']
         else:
             print >>stderr, "Failed to obtain source for package", self.pkg
             return
@@ -712,6 +721,14 @@
                 self.desc[lang]['short'] = MarkupString(unicode(row['description'], 'utf-8'), self.pkg, 'ShortDesc - ' + lang)
                 self.desc[lang]['long']  = Markup(render_longdesc(row['long_description'].splitlines()))
 
+            query = "EXECUTE query_get_latest_uploader ('%s')" % (self.src)
+            curs.execute(query)
+            changed = unicode(curs.fetchone()[0], 'utf-8')
+            if not changed.startswith(self.properties['maintainer']):
+                (_name, _url) = email.Utils.parseaddr(changed)
+                changed = '<a href="mailto:%s">%s</a>' % (_url, _name)
+                self.properties['changed_by'] = MarkupString(changed, self.pkg, 'changed_by')
+
         query = "EXECUTE query_check_enhances ('%"+self.pkg+"%')"
         curs.execute(query)
 

Modified: blends/trunk/webtools/templates/tasks.xhtml
URL: http://svn.debian.org/viewsvn/blends/blends/trunk/webtools/templates/tasks.xhtml?rev=1896&view=diff&r1=1896&r2=1895&p1=blends/trunk/webtools/templates/tasks.xhtml&p2=blends/trunk/webtools/templates/tasks.xhtml
==============================================================================
--- blends/trunk/webtools/templates/tasks.xhtml	(original)
+++ blends/trunk/webtools/templates/tasks.xhtml	Fri Oct  2 20:40:45 2009
@@ -90,7 +90,9 @@
                 <span py:when="'#'">${nohomepage}</span>
                 <span py:otherwise=""><a href="${project.properties['homepage']}">${project.properties['homepage']}</a></span>
              </div>
-	     <div py:if="project.responsible != None">${maintainer[pstatus]}: ${project.responsible}</div>
+	     <div py:if="project.responsible != None">${maintainer[pstatus]}:
+               ${project.responsible} <span py:if="project.properties.has_key('changed_by')">(${project.properties['changed_by']})</span>
+             </div>
 	   </td>
 	   <td py:if="project.component" class="project-info">
 	     <span py:if="project.version != []" class="tooltip" id="${project.pkg}-versions">



More information about the Blends-commit mailing list