The following commit has been merged in the master branch: commit 4360c0c60f0cbebab008018804ced4723451c3ac Author: Ole Streicher <oleb...@debian.org> Date: Thu Mar 10 21:17:10 2016 +0100
Further reunifx old and udd versions diff --git a/webtools/blendstasktools_udd.py b/webtools/blendstasktools_udd.py index a3afe48..4f37804 100644 --- a/webtools/blendstasktools_udd.py +++ b/webtools/blendstasktools_udd.py @@ -92,8 +92,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends'), 'fields-set' : (), 'colorcode' : 'Green: The project is <a href="#%s">available as an official Debian package and has high relevance</a>', - 'headline' : 'Official Debian packages with high relevance', - 'pdolinkname' : 'Official Debian package', 'order' : 1 }, 'official_low': { # official package with low priority dependency @@ -102,8 +100,6 @@ pkgstatus = { 'dependencies' : ('Suggests', ), 'fields-set' : (), 'colorcode' : 'Green: The project is <a href="#%s">available as an official Debian package but has lower relevance</a>', - 'headline' : 'Official Debian packages with lower relevance', - 'pdolinkname' : 'Official Debian package', 'order' : 2 }, 'non-free': { # package in contrib or non-free, priority decreased to Suggests in any case @@ -112,8 +108,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : (), 'colorcode' : 'Green: The project is <a href="#%s">available in Debian packaging pool but is not in Debian main</a>', - 'headline' : 'Debian packages in contrib or non-free', - 'pdolinkname' : 'Debian package in contrib/non-free', 'order' : 3 }, 'experimental': { # package which exists only in experimental @@ -122,8 +116,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : (), 'colorcode' : 'Yellow: The project is <a href="#%s">available in Debian packaging pool but is regarded as experimental</a>', - 'headline' : 'Debian packages in experimental', - 'pdolinkname' : 'Debian package in experimental', 'order' : 4 }, 'new': { # package in new queue @@ -132,8 +124,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : (), 'colorcode' : 'Yellow: A package of project is <a href="#%s">is in Debian New queue and hopefully available soon</a>', - 'headline' : 'Debian packages in New queue (hopefully available soon)', - 'pdolinkname' : 'New Debian package', 'order' : 5 }, 'pkgvcs': { # Not yet packaged but packaging code in Vcs @@ -142,8 +132,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : ('vcs-svn', 'vcs-git', 'vcs-browser'), 'colorcode' : 'Yellow: The packaging of project is <a href="#%s">has started and a developer might try the packaging code in VCS or help packaging.</a>', - 'headline' : 'Packaging has started and developers might try the packaging code in VCS', - 'pdolinkname' : 'New Debian package', 'order' : 6 }, 'unofficial': { # unofficial packages outside Debian @@ -152,8 +140,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : ('pkg-url', ), 'colorcode' : 'Yellow: There exists an <a href="#%s">unofficial package</a> of the project', - 'headline' : 'Unofficial packages built by somebody else', - 'pdolinkname' : 'Unofficial Debian package', 'order' : 7 }, 'wnpp': { # project which has at least a WNPP bug filed @@ -162,8 +148,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : ('wnpp', ), 'colorcode' : 'Red: The project is <a href="#%s">not (yet) available as a Debian package</a> but there is some record of interest (WNPP bug).', - 'headline' : 'No known packages available but some record of interest (WNPP bug)', - 'pdolinkname' : 'Debian package not available', 'order' : 8 }, 'prospective': { # projects which might be interesting for a Blend but no work is done yet @@ -172,8 +156,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : ('homepage', ), # TODO: a description should be set as well ... 'colorcode' : 'Red: The project is <a href="#%s">not (yet) available as a Debian package</a>.', - 'headline' : 'Should not show up here', - 'pdolinkname' : '', 'order' : 9 }, 'ignore': { # Package inside Debian which is "under observation" @@ -182,8 +164,6 @@ pkgstatus = { 'dependencies' : ('Ignore', ), 'fields-set' : (), 'colorcode' : '%s', - 'headline' : 'Should not show up here', - 'pdolinkname' : '', 'order' : 10 }, 'avoid': { # Package inside Debian which should not go to a install medium of the Blend @@ -192,8 +172,6 @@ pkgstatus = { 'dependencies' : ('Avoid', ), 'fields-set' : (), 'colorcode' : '%s', - 'headline' : 'Should not show up here', - 'pdolinkname' : '', 'order' : 11 }, 'unknown': { # Everything else @@ -202,8 +180,6 @@ pkgstatus = { 'dependencies' : ('Depends', 'Recommends', 'Suggests'), 'fields-set' : (), 'colorcode' : 'White: The project has an %s status.', - 'headline' : 'Should not show up here', - 'pdolinkname' : '', 'order' : 100 }, } diff --git a/webtools/tasks.py b/webtools/tasks.py index 4ed6f56..61abbe5 100755 --- a/webtools/tasks.py +++ b/webtools/tasks.py @@ -1,14 +1,10 @@ -#!/usr/bin/python +#!/usr/bin/env python -import apt -import apt_pkg -import apt_inst import codecs import json from sys import argv, exit, stderr import os -import re import gettext import time @@ -36,9 +32,11 @@ tasks.GetAllDependentPackagesOfBlend() tasks.MarkupPreformatedStringsBlend() data = tasks.data +data['timestamp'] = formatdate(time.mktime(datetime.now().timetuple())) data['tasks'] = tasks.GetTaskDescDict() data['taskskeys'] = tasks.metapackagekeys -data['PackageByName'] = tasks.PackageByName +data['PackageByName'] = tasks.PackageByName +data['pkgcount'] = len(data['PackageByName']) try: data['popconsubmit'] = tasks.popconsubmit except: diff --git a/webtools/tasks_udd.py b/webtools/tasks_udd.py index 5139939..d10881d 100755 --- a/webtools/tasks_udd.py +++ b/webtools/tasks_udd.py @@ -1,14 +1,10 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python -import apt -import apt_pkg -import apt_inst import codecs import json from sys import argv, exit, stderr import os -import re import gettext import time @@ -36,7 +32,6 @@ tasks.GetAllDependentPackagesOfBlend() tasks.MarkupPreformatedStringsBlend() data = tasks.data -# print("data : \n",data) data['timestamp'] = formatdate(time.mktime(datetime.now().timetuple())) data['tasks'] = tasks.GetTaskDescDict() data['taskskeys'] = tasks.metapackagekeys @@ -83,7 +78,7 @@ with open(os.path.join(outputdir, 'tasks.json'), 'w') as fp: json.dump(data, fp, indent=4, sort_keys=True, cls=DefaultEncoder) t = datetime.now() -htaccess = os.path.join(outputdir, 'htaccess') +htaccess = os.path.join(outputdir, '.htaccess') htafp = open(htaccess, 'w') htafp.write("DirectoryIndex index index.html\nOptions +MultiViews\n") @@ -91,23 +86,85 @@ use_dependencystatus = GetDependencies2Use() for lang in languages: htafp.write("AddLanguage {0} .{1}\n".format(language_dict[lang]['htaccess'], lang)) l10nstring[lang].install() - # _ = l10nstring[lang].ugettext + _ = l10nstring[lang].ugettext data['lang'] = lang + data['license'] = _('License') + data['version'] = _('Version') + data['summary'] = _('Summary') + data['updatetimestamp'] = _('Last update:') + ' ' + formatdate(time.mktime(t.timetuple())) + data['nopkgavail'] = _('Debian package not available') # Description of package in specific packges (same for Depends, Recommends, Suggests) + data['legend'] = _("For a better overview of the project's availability as a Debian package, each head row has a color code according to this scheme:") + data['discovery'] = Markup(_( + """If you discover a project which looks like a good candidate for %s + to you, or if you have prepared an unofficial Debian package, please do not hesitate to + send a description of that project to the <a href="mailto:%s">%s mailing list</a>""") + % (data['projectname'], data['projectlist'], data['projectname'])) + data['bugs'] = _('Bugs') + data['thermometer'] = _('Thermometer') + data['maintstats'] = _('Maintainer Stats') + data['contact'] = _('Contact') + data['contribute'] = _('Contribute') + data['description'] = _('Description') + data['metapackage'] = _('Metapackage') + data['packages'] = _('Packages') + data['gtstrTasksPage'] = _('Tasks page') + data['gtstrProject'] = _('Project') + data['gtstrThisIsAList'] = _('This is a list of the Tasks %s is made of:') % data['projectname'] + data['langavail'] = _('This page is also available in the following languages:') + data['howtosetlang'] = _('How to set <a href="%s">the default document language</a>') + data['howtosetlang'] = Markup(data['howtosetlang'] % ('http://www.debian.org/intro/cn.%s.html' % lang)) + data['nohomepage'] = _('Homepage not available') + data['translatedesc'] = _('Translate description') + data['fixtranslation'] = _('Fix translated description') + data['popconexplanation'] = _('Popularitycontest results: number of people who use this package regularly (number of people who upgraded this package recently) out of') + data['tableofcontents'] = _('Table of contents') + data['packagelist'] = _('complete packagelist') 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 advertising = data['advertising'] # data['projectadvertising'] = _(advertising) # Hopefully translation will work this way ... # Genshi needs explicite information that it is dealing with an UTF-8 string which should not be changed - # advertising = _(advertising) + advertising = _(advertising) data['projectadvertising'] = Markup(advertising) else: data['projectadvertising'] = None + data['packages'] = _('Packages') + data['idxsummary'] = _('''The {0} Pure Blend contains {1} packages which + are grouped by metapackages. Each metapackage will cause the + installation of packages for a specific topic. The following table lists + the metapackages of {0}''').format(data['projectname'], len(data['PackageByName'])) + + pkgstatus['official_high']['headline'] = _('Official Debian packages with high relevance') # before fiddling around with unicode() read # http://www.red-mercury.com/blog/eclectic-tech/python-unicode-fixing-utf-8-encoded-as-latin-1-iso-8859-1/ - + pkgstatus['official_high']['pdolinkname'] = _('Official Debian package') + pkgstatus['official_low'] ['headline'] = _('Official Debian packages with lower relevance') + pkgstatus['official_low'] ['pdolinkname'] = pkgstatus['official_high']['pdolinkname'] + pkgstatus['non-free'] ['headline'] = _('Debian packages in contrib or non-free') + pkgstatus['non-free'] ['pdolinkname'] = _('Debian package in contrib/non-free') + pkgstatus['experimental'] ['headline'] = _('Debian packages in experimental') + pkgstatus['experimental'] ['pdolinkname'] = _('Debian package in experimental') + pkgstatus['new'] ['headline'] = _('Debian packages in New queue (hopefully available soon)') + pkgstatus['new'] ['pdolinkname'] = _('New Debian package') + pkgstatus['pkgvcs'] ['headline'] = _('Packaging has started and developers might try the packaging code in VCS') + pkgstatus['pkgvcs'] ['pdolinkname'] = _('Unofficial Debian package') + pkgstatus['unofficial'] ['headline'] = _('Unofficial packages built by somebody else') + pkgstatus['unofficial'] ['pdolinkname'] = pkgstatus['pkgvcs']['pdolinkname'] + pkgstatus['prospective'] ['headline'] = _('No known packages available') + pkgstatus['prospective'] ['pdolinkname'] = _('Debian package not available') + pkgstatus['wnpp'] ['headline'] = _('No known packages available but some record of interest (WNPP bug)') + pkgstatus['wnpp'] ['pdolinkname'] = pkgstatus['prospective']['pdolinkname'] + # Ignore/Avoid is only relevant for blends-dev, not webtools + pkgstatus['ignore'] ['headline'] = 'Should not show up here' + pkgstatus['prospective'] ['pdolinkname'] = '' + pkgstatus['avoid'] ['headline'] = 'Should not show up here' + pkgstatus['prospective'] ['pdolinkname'] = '' + pkgstatus['unknown'] ['headline'] = 'Should not show up here' # There must be a bug somewhere + pkgstatus['prospective'] ['pdolinkname'] = '' + # Create the index page # Make sure that strings that need to be rendered as they are because they might # contain several html tags will be marked correctly @@ -118,26 +175,17 @@ for lang in languages: template = loader.load('tasks_idx.xhtml') - outputfile = os.path.join(outputdir, 'index.{0}.html'.format(lang)) + outputfile = os.path.join(outputdir, + 'index.{0}.html'.format(language_dict[lang]['short'])) with codecs.open(outputfile, 'w', 'utf-8') as f: - try: f.write(template.generate(**data).render('xhtml')) - except UnicodeDecodeError as err: - stderr.write("Some critical encoding problem occured when trying" - + " to render index for lang {0}.\n{1}\n" - .format(lang, str(err))) SetFilePermissions(outputfile) try: template = loader.load('%s_idx.xhtml' % tasks.blendname) outputfile = os.path.join(tasks.data['outputdir'], - 'index.{0}.html'.format(lang)) + 'index.{0}.html'.format(language_dict[lang]['short'])) with codecs.open(outputfile, "w", "utf-8") as f: - try: - f.write(template.generate(**data).render('xhtml')) - except UnicodeDecodeError as err: - stderr.write("Some critical encoding problem occured when trying" - + " to render index for lang {0}.\n{1}\n" - .format(lang, str(err))) + f.write(template.generate(**data).render('xhtml')) SetFilePermissions(outputfile) except: pass @@ -154,9 +202,9 @@ for lang in languages: data['headline'][status] = Markup(pkgstatus[status]['headline']) data['pdolinkname'][status] = Markup(pkgstatus[status]['pdolinkname']) if pkgstatus[status]['order'] <= pkgstatus['experimental']['order']: - data['maintainer'][status] = ('Maintainer') + data['maintainer'][status] = _('Maintainer') else: - data['maintainer'][status] = ('Responsible') + data['maintainer'][status] = _('Responsible') for task in data['taskskeys']: data['task'] = task @@ -175,20 +223,18 @@ for lang in languages: % dep.pkg) # Keep the Project lists per task to be able to loop over all tasks in plain package list data['projects'][task] = tasks.tasks[task].dependencies + data['othertasks'] = _("Links to other tasks") + data['indexlink'] = _("Index of all tasks") if data['projectname'] in ('Debian Astro', 'Debian Hamradio'): template = loader.load('packages.xhtml') else: template = loader.load('tasks.xhtml') - outputfile = os.path.join(outputdir, '{0}.{1}.html'.format(task, lang)) + outputfile = os.path.join( + outputdir, '{0}.{1}.html'.format(task, language_dict[lang]['short'])) with codecs.open(outputfile, "w", "utf-8") as f: - try: - f.write(template.generate(**data).render('xhtml')) - except UndefinedError as err: - stderr.write("UndefinedError while rendering" - + " task {0} for lang {1}.\n{2}\n" - .format(task, lang, str(err))) + f.write(template.generate(**data).render('xhtml')) SetFilePermissions(outputfile) template = loader.load('packagelist.xhtml') @@ -199,22 +245,9 @@ for lang in languages: outputfile = os.path.join(outputdir, 'packagelist.{0}.html'.format(lang)) with codecs.open(outputfile, 'w', 'utf-8') as f: - try: - f.write(template.generate(**data).render('xhtml')) - except UnicodeDecodeError as err: - stderr.write("Some critical encoding problem occured when trying" - + " to render long package list for lang {0}.\n{1}\n" - .format((lang, str(err)))) - except UndefinedError as err: - stderr.write("UndefinedError while trying to render" - + " long package list for lang {0}.\n{1}\n" - .format(lang, str(err))) + f.write(template.generate(**data).render('xhtml')) SetFilePermissions(outputfile) -htafp.write("LanguagePriority ") -for lang in languages: - htafp.write(language_dict[lang]['htaccess'] + ' ') -htafp.write("\n") htafp.write("LanguagePriority {0}\n".format( ' '.join(language_dict[lang]['htaccess']) for lang in languages)) -- Static and dynamic websites for Debian Pure Blends _______________________________________________ Blends-commit mailing list Blends-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/blends-commit