Author: tille Date: Fri Feb 5 13:50:13 2010 New Revision: 2073 URL: http://svn.debian.org/viewsvn/blends?rev=2073&view=rev
Log: Enhance report about available versions and archs Modified: blends/trunk/webtools/blendstasktools.py Modified: blends/trunk/webtools/blendstasktools.py URL: http://svn.debian.org/viewsvn/blends/blends/trunk/webtools/blendstasktools.py?rev=2073&view=diff&r1=2073&r2=2072&p1=blends/trunk/webtools/blendstasktools.py&p2=blends/trunk/webtools/blendstasktools.py ============================================================================== --- blends/trunk/webtools/blendstasktools.py (original) +++ blends/trunk/webtools/blendstasktools.py Fri Feb 5 13:50:13 2010 @@ -271,15 +271,24 @@ curs.execute(query) # Obtain available versions including the architectures where this version is available -query = """PREPARE pkg_versions_arch (text, text) AS - SELECT release, regexp_replace(version, '^[0-9]:', '') AS version, array_to_string(array_accum(architecture),',') AS architectures FROM - ( SELECT architecture, version, - release || CASE WHEN char_length(substring(distribution from '-.*')) > 0 THEN substring(distribution from '-.*') ELSE '' END AS release FROM packages - WHERE package = $1 AND component = $2 - GROUP BY architecture, version, release, distribution - ORDER BY architecture - ) AS av - GROUP BY version, release ORDER BY version DESC;""" +#query = """PREPARE pkg_versions_arch (text, text) AS +# SELECT release, regexp_replace(version, '^[0-9]:', '') AS version, array_to_string(array_accum(architecture),',') AS architectures FROM +# ( SELECT architecture, version, +# release || CASE WHEN char_length(substring(distribution from '-.*')) > 0 THEN substring(distribution from '-.*') ELSE '' END AS release FROM packages +# WHERE package = $1 AND component = $2 +# GROUP BY architecture, version, release, distribution +# ORDER BY architecture +# ) AS av +# GROUP BY version, release ORDER BY version DESC;""" +query = """PREPARE pkg_versions_arch (text) AS + SELECT r as release, version, archs, component + FROM versions_archs_component($1) AS (r text, version text, archs text, component text) + -- you have to specify the column names because plain RECORD type is returned + JOIN releases ON releases.release = r + -- JOIN with release table to enable reasonable sorting + WHERE r NOT LIKE '%-%' + -- ignore releases like *-security etc. + ORDER BY releases.sort;""" curs.execute(query) # Obtain upstream version in case it is newer than Debian version @@ -603,11 +612,15 @@ if rel[0] != 'experimental': has_official = 1 - query = "EXECUTE pkg_versions_arch ('%s', '%s')" % (self.pkg, self.component) + # query = "EXECUTE pkg_versions_arch ('%s', '%s')" % (self.pkg, self.component) + query = "EXECUTE pkg_versions_arch ('%s')" % (self.pkg) curs.execute(query) if curs.rowcount > 0: for row in RowDictionaries(curs): - self.version.append({'release':row['release'], 'version': row['version'], 'archs':row['architectures']}) + if self.component.startswith(row['component']): + self.version.append({'release':row['release'], 'version': row['version'], 'archs':row['archs']}) + else: + self.version.append({'release':row['release'], 'version': row['version'] + ' (' + row['component'] + ')', 'archs':row['archs']}) query = "EXECUTE pkg_dehs ('%s')" % (self.pkg) curs.execute(query) _______________________________________________ Blends-commit mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/blends-commit
