[Blends-commit] [SCM] website branch, master, updated. 71aedad66794acbf0bd7aa36ea6e68c6b35bfc74
Andreas Tille
tille at debian.org
Sat Jul 6 19:10:12 UTC 2013
The following commit has been merged in the master branch:
commit cc6797e6ed8fee6c3d7a5a63c1a84f4b8078ad89
Author: Andreas Tille <tille at debian.org>
Date: Sat Jul 6 19:11:59 2013 +0200
main()
diff --git a/misc/thermometer/thermometer.py b/misc/thermometer/thermometer.py
index f99ff96..06c3a6a 100755
--- a/misc/thermometer/thermometer.py
+++ b/misc/thermometer/thermometer.py
@@ -75,201 +75,205 @@ def RowDictionaries(cursor):
result.append(resultrow)
return result
-query = """PREPARE query_thermometer (text) AS
- SELECT b.source,
- stable.version AS stable,
- testing.version AS testing,
- unstable.version AS unstable,
- stable_bpo.version AS "stable_bpo",
- experimental.version AS experimental,
- unreleased.version AS "UNRELEASED",
- precise.version AS precise,
- quantal.version AS quantal,
- raring.version AS raring,
- d.unstable_upstream AS upstream,
- d.unstable_status AS status,
- homepage,
- wnpp
- FROM (
- SELECT DISTINCT p.source, '' AS wnpp FROM packages p
- JOIN blends_dependencies bd ON bd.package = p.package
- JOIN releases r ON p.release = r.release
- WHERE bd.blend = $1 AND
- (r.sort >= (SELECT sort FROM releases WHERE role = 'stable') OR r.sort = 0) -- forget older releases than stable but allow experimental
- UNION
- SELECT DISTINCT u.source, '' AS wnpp FROM ubuntu_packages u
- JOIN blends_dependencies bd ON bd.package = u.package
- WHERE bd.blend = $1 AND bd.distribution = 'ubuntu'
- UNION
- SELECT DISTINCT pr.source, CASE WHEN wnpp!=0 THEN CAST(pr.wnpp AS text) ELSE '' END AS wnpp FROM blends_prospectivepackages pr
- JOIN blends_dependencies bd ON bd.package = pr.package
- WHERE bd.blend = $1 AND bd.distribution = 'prospective'
- ) b
- LEFT OUTER JOIN ( SELECT source, homepage FROM (
- SELECT source, homepage, row_number() OVER (PARTITION BY source ORDER BY version DESC) FROM (
- SELECT DISTINCT p.source, p.homepage, p.version FROM packages p
- JOIN blends_dependencies bd ON bd.package = p.package
- JOIN releases r ON p.release = r.release
- WHERE bd.blend = $1 AND
- (r.sort >= (SELECT sort FROM releases WHERE role = 'stable') OR r.sort = 0) -- forget older releases than stable but allow experimental
- UNION
- SELECT DISTINCT u.source, u.homepage, u.version FROM ubuntu_packages u
- JOIN blends_dependencies bd ON bd.package = u.package
- WHERE bd.blend = $1 AND bd.distribution = 'ubuntu'
- UNION
- SELECT DISTINCT pr.source, pr.homepage, pr.chlog_version as version FROM blends_prospectivepackages pr
- JOIN blends_dependencies bd ON bd.package = pr.package
- WHERE bd.blend = $1 AND bd.distribution = 'prospective'
- ) hpversion
- GROUP BY source, homepage, version
- ) tmp
- WHERE row_number = 1
- ) homepage ON b.source = homepage.source
- LEFT OUTER JOIN (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = $1 AND r.role = 'unstable' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source
- ) unstable ON b.source = unstable.source
- LEFT OUTER JOIN (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = $1 AND r.role = 'testing' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source
- ) testing ON b.source = testing.source
- LEFT OUTER JOIN (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = $1 AND r.role = 'stable' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source
- ) stable ON b.source = stable.source
- LEFT OUTER JOIN (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = $1 AND r.role = 'experimental' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source
- ) experimental ON b.source = experimental.source
- LEFT OUTER JOIN (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
- FROM packages p
- JOIN releases r ON p.release = r.release
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- WHERE b.blend = $1 AND p.release = (SELECT release FROM releases WHERE role='stable') || '-backports' AND p.distribution = 'debian'
- GROUP BY p.source
- ORDER BY p.source
- ) stable_bpo ON b.source = stable_bpo.source
- LEFT OUTER JOIN ( -- an 'UNRELEASED' version can be due to not yet finished work in VCS or not yet uploaded at all
- SELECT DISTINCT source, version FROM (
- SELECT DISTINCT p.source, strip_binary_upload(MAX(v.version)) AS version
- FROM packages p
- JOIN blends_dependencies b ON b.package = p.package
- -- make sure we get the right source version that does not necessarily match binary version
- JOIN sources s ON p.source = s.source AND p.release = s.release
- JOIN vcs v ON s.source = v.source
- WHERE b.blend = $1 AND v.distribution = 'UNRELEASED'
- GROUP BY p.source
- UNION
- SELECT DISTINCT pr.source, strip_binary_upload(chlog_version) AS version
- FROM blends_dependencies b
- JOIN blends_prospectivepackages pr ON b.package = pr.package
- WHERE b.blend = $1
- ) tmp
- ) unreleased ON b.source = unreleased.source
- LEFT OUTER JOIN (
- SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
- FROM ubuntu_packages u
- JOIN blends_dependencies b ON b.package = u.package
- JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
- WHERE b.blend = $1 AND u.release = 'precise'
- GROUP BY u.source
- ORDER BY u.source
- ) precise ON b.source = precise.source
- LEFT OUTER JOIN (
- SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
- FROM ubuntu_packages u
- JOIN blends_dependencies b ON b.package = u.package
- JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
- WHERE b.blend = $1 AND u.release = 'quantal'
- GROUP BY u.source
- ORDER BY u.source
- ) quantal ON b.source = quantal.source
- LEFT OUTER JOIN (
- SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
- FROM ubuntu_packages u
- JOIN blends_dependencies b ON b.package = u.package
- JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
- WHERE b.blend = $1 AND u.release = 'raring'
- GROUP BY u.source
- ORDER BY u.source
- ) raring ON b.source = raring.source
- LEFT OUTER JOIN dehs d ON b.source = d.source
- ORDER BY b.source
-;
-"""
-_execute_udd_query(query)
-
-blendname = 'debian-med'
-_execute_udd_query( "EXECUTE query_thermometer('%s')" % blendname)
-
-if curs.rowcount > 0:
- blend_data = RowDictionaries(curs)
- f = open('thermometer.json', 'w')
- print >>f, json.dumps(blend_data)
+def main():
+ query = """PREPARE query_thermometer (text) AS
+ SELECT b.source,
+ stable.version AS stable,
+ testing.version AS testing,
+ unstable.version AS unstable,
+ stable_bpo.version AS "stable_bpo",
+ experimental.version AS experimental,
+ unreleased.version AS "UNRELEASED",
+ precise.version AS precise,
+ quantal.version AS quantal,
+ raring.version AS raring,
+ d.unstable_upstream AS upstream,
+ d.unstable_status AS status,
+ homepage,
+ wnpp
+ FROM (
+ SELECT DISTINCT p.source, '' AS wnpp FROM packages p
+ JOIN blends_dependencies bd ON bd.package = p.package
+ JOIN releases r ON p.release = r.release
+ WHERE bd.blend = $1 AND
+ (r.sort >= (SELECT sort FROM releases WHERE role = 'stable') OR r.sort = 0) -- forget older releases than stable but allow experimental
+ UNION
+ SELECT DISTINCT u.source, '' AS wnpp FROM ubuntu_packages u
+ JOIN blends_dependencies bd ON bd.package = u.package
+ WHERE bd.blend = $1 AND bd.distribution = 'ubuntu'
+ UNION
+ SELECT DISTINCT pr.source, CASE WHEN wnpp!=0 THEN CAST(pr.wnpp AS text) ELSE '' END AS wnpp FROM blends_prospectivepackages pr
+ JOIN blends_dependencies bd ON bd.package = pr.package
+ WHERE bd.blend = $1 AND bd.distribution = 'prospective'
+ ) b
+ LEFT OUTER JOIN ( SELECT source, homepage FROM (
+ SELECT source, homepage, row_number() OVER (PARTITION BY source ORDER BY version DESC) FROM (
+ SELECT DISTINCT p.source, p.homepage, p.version FROM packages p
+ JOIN blends_dependencies bd ON bd.package = p.package
+ JOIN releases r ON p.release = r.release
+ WHERE bd.blend = $1 AND
+ (r.sort >= (SELECT sort FROM releases WHERE role = 'stable') OR r.sort = 0) -- forget older releases than stable but allow experimental
+ UNION
+ SELECT DISTINCT u.source, u.homepage, u.version FROM ubuntu_packages u
+ JOIN blends_dependencies bd ON bd.package = u.package
+ WHERE bd.blend = $1 AND bd.distribution = 'ubuntu'
+ UNION
+ SELECT DISTINCT pr.source, pr.homepage, pr.chlog_version as version FROM blends_prospectivepackages pr
+ JOIN blends_dependencies bd ON bd.package = pr.package
+ WHERE bd.blend = $1 AND bd.distribution = 'prospective'
+ ) hpversion
+ GROUP BY source, homepage, version
+ ) tmp
+ WHERE row_number = 1
+ ) homepage ON b.source = homepage.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = $1 AND r.role = 'unstable' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) unstable ON b.source = unstable.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = $1 AND r.role = 'testing' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) testing ON b.source = testing.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = $1 AND r.role = 'stable' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) stable ON b.source = stable.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = $1 AND r.role = 'experimental' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) experimental ON b.source = experimental.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM packages p
+ JOIN releases r ON p.release = r.release
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ WHERE b.blend = $1 AND p.release = (SELECT release FROM releases WHERE role='stable') || '-backports' AND p.distribution = 'debian'
+ GROUP BY p.source
+ ORDER BY p.source
+ ) stable_bpo ON b.source = stable_bpo.source
+ LEFT OUTER JOIN ( -- an 'UNRELEASED' version can be due to not yet finished work in VCS or not yet uploaded at all
+ SELECT DISTINCT source, version FROM (
+ SELECT DISTINCT p.source, strip_binary_upload(MAX(v.version)) AS version
+ FROM packages p
+ JOIN blends_dependencies b ON b.package = p.package
+ -- make sure we get the right source version that does not necessarily match binary version
+ JOIN sources s ON p.source = s.source AND p.release = s.release
+ JOIN vcs v ON s.source = v.source
+ WHERE b.blend = $1 AND v.distribution = 'UNRELEASED'
+ GROUP BY p.source
+ UNION
+ SELECT DISTINCT pr.source, strip_binary_upload(chlog_version) AS version
+ FROM blends_dependencies b
+ JOIN blends_prospectivepackages pr ON b.package = pr.package
+ WHERE b.blend = $1
+ ) tmp
+ ) unreleased ON b.source = unreleased.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM ubuntu_packages u
+ JOIN blends_dependencies b ON b.package = u.package
+ JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
+ WHERE b.blend = $1 AND u.release = 'precise'
+ GROUP BY u.source
+ ORDER BY u.source
+ ) precise ON b.source = precise.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM ubuntu_packages u
+ JOIN blends_dependencies b ON b.package = u.package
+ JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
+ WHERE b.blend = $1 AND u.release = 'quantal'
+ GROUP BY u.source
+ ORDER BY u.source
+ ) quantal ON b.source = quantal.source
+ LEFT OUTER JOIN (
+ SELECT DISTINCT u.source, strip_binary_upload(MAX(s.version)) AS version
+ FROM ubuntu_packages u
+ JOIN blends_dependencies b ON b.package = u.package
+ JOIN ubuntu_sources s ON u.source = s.source AND u.release = s.release
+ WHERE b.blend = $1 AND u.release = 'raring'
+ GROUP BY u.source
+ ORDER BY u.source
+ ) raring ON b.source = raring.source
+ LEFT OUTER JOIN dehs d ON b.source = d.source
+ ORDER BY b.source
+ ;
+ """
+ _execute_udd_query(query)
+
+ blendname = 'debian-med'
+ _execute_udd_query( "EXECUTE query_thermometer('%s')" % blendname)
+
+ if curs.rowcount > 0:
+ blend_data = RowDictionaries(curs)
+ f = open('thermometer.json', 'w')
+ print >>f, json.dumps(blend_data)
+ f.close()
+ else:
+ print >>stderr, "No data received for Blend", blendname
+ exit(1)
+
+ # 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 gensi
+ loader = TemplateLoader([template_dir], auto_reload=True)
+
+ #outputdir = tasks.CheckOrCreateOutputDir('thermometer')
+ outputdir = './thermometer'
+ if outputdir == None:
+ exit(-1)
+
+ t = datetime.now()
+
+ template = loader.load('thermometer.xhtml')
+ outputfile = outputdir + '/thermometer.html'
+ try:
+ os.unlink(outputfile)
+ except: # simply continue if file does not exist
+ pass
+
+ data={}
+ data['projectname'] = blendname
+ data['blend_data'] = blend_data
+ # data['updatetimestamp'] = to_unicode(_('Last update:')) + ' ' + formatdate(time.mktime(t.timetuple()))
+ data['updatetimestamp'] = 'Last update:' + ' ' + formatdate(time.mktime(t.timetuple()))
+
+ f = open(outputfile, 'w')
+ print >> f, template.generate(**data).render('xhtml')
f.close()
-else:
- print >>stderr, "No data received for Blend", blendname
- exit(1)
-
-# 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 gensi
-loader = TemplateLoader([template_dir], auto_reload=True)
-
-#outputdir = tasks.CheckOrCreateOutputDir('thermometer')
-outputdir = './thermometer'
-if outputdir == None:
- exit(-1)
-
-t = datetime.now()
-
-template = loader.load('thermometer.xhtml')
-outputfile = outputdir + '/thermometer.html'
-try:
- os.unlink(outputfile)
-except: # simply continue if file does not exist
- pass
-
-data={}
-data['projectname'] = blendname
-data['blend_data'] = blend_data
-# data['updatetimestamp'] = to_unicode(_('Last update:')) + ' ' + formatdate(time.mktime(t.timetuple()))
-data['updatetimestamp'] = 'Last update:' + ' ' + formatdate(time.mktime(t.timetuple()))
-f = open(outputfile, 'w')
-print >> f, template.generate(**data).render('xhtml')
-f.close()
+if __name__ == '__main__':
+ main()
--
Static and dynamic websites for Debian Pure Blends
More information about the Blends-commit
mailing list