[Blends-commit] [SCM] website branch, master, updated. 497e3dab79e9fa49400f9b9f1af8efc399b394b5

Ole Streicher olebole at debian.org
Sun Mar 6 13:57:44 UTC 2016


The following commit has been merged in the master branch:
commit 497e3dab79e9fa49400f9b9f1af8efc399b394b5
Author: Ole Streicher <olebole at debian.org>
Date:   Sun Mar 6 14:57:40 2016 +0100

    reformat to PEP8

diff --git a/webtools/tasks.py b/webtools/tasks.py
index 94b0e44..975f881 100755
--- a/webtools/tasks.py
+++ b/webtools/tasks.py
@@ -23,9 +23,9 @@ from blendstasktools import Tasks, GetDependencies2Use, pkgstatus, pkgstatus_sor
 from blendslanguages import languages, language_dict
 
 if len(argv) <= 1:
-	print >>stderr, "Usage: %s <Blend name>\n       The <Blend name> needs a matching config file webconf/<Blend name>.conf"\
-                        % argv[0]
-	exit(-1)
+    print >>stderr, "Usage: %s <Blend name>\n       The <Blend name> needs a matching config file webconf/<Blend name>.conf"\
+        % argv[0]
+    exit(-1)
 
 # LockBlendsTools() #  logger handler not defined at this moment, needs rethinking ... FIXME
 tasks    = Tasks(argv[1])
@@ -39,9 +39,9 @@ data['tasks']            = tasks.GetTaskDescDict()
 data['taskskeys']        = tasks.metapackagekeys
 data['PackageByName']        = tasks.PackageByName
 try:
-	data['popconsubmit']     = tasks.popconsubmit
-except: 
-	data['popconsubmit']     = 'unknown'
+    data['popconsubmit']     = tasks.popconsubmit
+except:
+    data['popconsubmit']     = 'unknown'
 data['languages']        = languages
 data['language_dict']    = language_dict
 # Work around the fact that it seems to be impossible to mention '&' in the template
@@ -55,10 +55,9 @@ template_dir = os.path.join(current_dir, 'templates')
 # Initialize i18n
 domain = 'blends-webtools'
 gettext.install(domain)
-l10nstring = {}
-for lang in languages:
-	l10nstring[lang] = gettext.translation(domain, locale_dir, languages=[lang], fallback = True)
-
+l10nstring = dict((lang, gettext.translation(domain, locale_dir,
+                                             languages=[lang], fallback=True))
+                  for lang in languages)
 # Translated strings regarding the categorising of dependencies need to
 # be translated and because I did not found a working solution to get
 # gettext working with genshi all are collected here even if the additional
@@ -68,216 +67,214 @@ for lang in languages:
 # initialize gensi
 loader = TemplateLoader([template_dir], auto_reload=True, default_encoding="utf-8")
 
-outputdir = CheckOrCreateOutputDir(tasks.data['outputdir'],'tasks')
-if outputdir == None:
-	exit(-1)
+outputdir = CheckOrCreateOutputDir(tasks.data['outputdir'], 'tasks')
+if outputdir is None:
+    exit(-1)
+
 
 class DefaultEncoder(json.JSONEncoder):
-        def default(self, obj):
-                return obj.__dict__
+    def default(self, obj):
+        return obj.__dict__
 
 with open(os.path.join(outputdir, 'tasks.json'), 'w') as fp:
-        json.dump(data, fp, indent=4, sort_keys = True, cls=DefaultEncoder)
-        fp.flush()
+    json.dump(data, fp, indent=4, sort_keys=True, cls=DefaultEncoder)
 
 t = datetime.now()
 htaccess = outputdir + '/.htaccess'
 htafp = open(htaccess, 'w')
-print >> htafp, "DirectoryIndex index index.html\nOptions +MultiViews"
+htafp.write("DirectoryIndex index index.html\nOptions +MultiViews\n")
 
 detect_javascript_code_re = re.compile("onmouseover=\"Tip\(\\'")
 detect_ampersand_code_re  = re.compile("href=\"http://\w+\.debian\.org/.+\?\w+=")
 
 use_dependencystatus = GetDependencies2Use()
 for lang in languages:
-	print >> htafp, "AddLanguage %s .%s" % (language_dict[lang]['htaccess'], lang)
-	l10nstring[lang].install()
-	_ = 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)
-		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
-	VERBATIM=('projectadvertising', )
-	for verbatim in VERBATIM:
-		if data.has_key(verbatim) and data[verbatim] != None:
-			data[verbatim] = Markup(data[verbatim])
-
-	template = loader.load('tasks_idx.xhtml')
-
-	outputfile = outputdir + '/index'
-	if lang != 'xyz': # let 'en' be a language as any other and add suffix to file name
-		outputfile += '.' + language_dict[lang]['short'] + '.html'
-	with codecs.open(outputfile, 'w', 'utf-8') as f:
-		f.write(template.generate(**data).render('xhtml'))
-	SetFilePermissions(outputfile)
-
-	try:
-		template = loader.load('%s_idx.xhtml' % tasks.blendname)
-		outputfile = tasks.data['outputdir'] + '/index'
-		if lang != 'xyz': # let 'en' be a language as any other and add suffix to file name
-			outputfile += '.' + language_dict[lang]['short'] + '.html'
-	        with codecs.open(outputfile, "w", "utf-8") as f:
-                        f.write(template.generate(**data).render('xhtml'))
-		SetFilePermissions(outputfile)
-	except:
-		pass
-
-	data['dependencies'] = {}
-	data['projects']     = {}
-
-	data['headline']     = {}
-	data['pdolinkname']  = {}
-	data['maintainer']   = {}
-
-	# I18n for headlines, link description, maintainer
-	for status in use_dependencystatus:
-		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')
-		else:
-			data['maintainer'][status] = _('Responsible')
-
-	for task in data['taskskeys']:
-		data['task']               = task
-		# Keep the Dependency lists per task to be able to loop over all tasks in plain package list
-		data['dependencies'][task] = []
-		found_status = {}
-		for status in use_dependencystatus:
-		    if len(tasks.tasks[task].dependencies[status]) > 0:
-			if status == 'unknown':
-			    # Just print an error message if there are packages with unknown status
-			    if lang == 'en':
-				# ... but only once and not per language
-				for dep in tasks.tasks[task].dependencies[status]:
-				    print >>stderr, "Warning: Dependency with unknown status:", dep.pkg
-			else:
-			    data['dependencies'][task].append(status)
-			    if status in data['dependencies'][task]:
-				    if not found_status.has_key(status):
-					    found_status[status] = 1
-		# 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")
-
-		outputfile = outputdir + '/' + task
-	        if lang != 'xyz': # let 'en' be a language as any other and add suffix to file name
-			outputfile += '.' + language_dict[lang]['short'] + '.html'
-
-                if data['projectname'] in ('Debian Astro', 'Debian Hamradio'):
-		        template = loader.load('packages.xhtml')
+    htafp.write("AddLanguage {0} .{1}\n".format(language_dict[lang]['htaccess'], lang))
+    l10nstring[lang].install()
+    _ = 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)
+        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
+    VERBATIM = ('projectadvertising', )
+    for verbatim in VERBATIM:
+        if verbatim in data and data[verbatim] != None:
+            data[verbatim] = Markup(data[verbatim])
+
+    template = loader.load('tasks_idx.xhtml')
+
+    outputfile = os.path.join(outputdir,
+                              'index.{0}.html'.format(language_dict[lang]['short']))
+    with codecs.open(outputfile, 'w', 'utf-8') as f:
+            f.write(template.generate(**data).render('xhtml'))
+    SetFilePermissions(outputfile)
+
+    try:
+        template = loader.load('%s_idx.xhtml' % tasks.blendname)
+        outputfile = os.path.join(tasks.data['outputdir'],
+                                  'index.{0}.html'.format(language_dict[lang]['short']))
+        with codecs.open(outputfile, "w", "utf-8") as f:
+            f.write(template.generate(**data).render('xhtml'))
+        SetFilePermissions(outputfile)
+    except:
+        pass
+
+    data['dependencies'] = {}
+    data['projects']     = {}
+
+    data['headline']     = {}
+    data['pdolinkname']  = {}
+    data['maintainer']   = {}
+
+    # I18n for headlines, link description, maintainer
+    for status in use_dependencystatus:
+        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')
+        else:
+            data['maintainer'][status] = _('Responsible')
+
+    for task in data['taskskeys']:
+        data['task']               = task
+        # Keep the Dependency lists per task to be able to loop over all tasks in plain package list
+        data['dependencies'][task] = []
+        found_status = {}
+        for status in use_dependencystatus:
+            if len(tasks.tasks[task].dependencies[status]) > 0:
+                if status == 'unknown':
+                    # Just print an error message if there are packages with unknown status
+                    if lang == 'en':
+                        # ... but only once and not per language
+                        for dep in tasks.tasks[task].dependencies[status]:
+                            print >>stderr, "Warning: Dependency with unknown status:", dep.pkg
                 else:
-                        template = loader.load('tasks.xhtml')
-
-                lines = template.generate(**data).render('xhtml').split('\n')
-		for line in lines:
-			# We had to mask ampersand ('&') from Genshi but even if
-                        # the browser shows the correct character
-                        # packages.debian.org gets confused - so turn it back here
-			if detect_ampersand_code_re.search(line):
-                                if '%26' in line:
-                                        print line
-				line = re.sub('%26', '&', line)
-		with codecs.open(outputfile, "w", "utf-8") as f:
-			f.write('\n'.join(lines))
-	        SetFilePermissions(outputfile)
-
-	template = loader.load('packagelist.xhtml')
-
-	outputfile = outputdir + '/packagelist'
-	if lang != 'xyz': # let 'en' be a language as any other and add suffix to file name
-		outputfile += '.' + lang + '.html'
-
-	data['projectsintasks'] = []
-	for task in data['taskskeys']:
-		data['projectsintasks']     = tasks.tasks[task].dependencies
-
-	with codecs.open(outputfile, 'w', 'utf-8') as f:
-		f.write(template.generate(**data).render('xhtml'))
-	SetFilePermissions(outputfile)
-
-
-print >> htafp, "LanguagePriority",
+                    data['dependencies'][task].append(status)
+                    if status in data['dependencies'][task]:
+                        if status not in found_status:
+                            found_status[status] = 1
+        # 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")
+
+        outputfile = os.path.join(
+            outputdir,
+            '{0}.{1}.html'.format(task, language_dict[lang]['short']))
+
+        if data['projectname'] in ('Debian Astro', 'Debian Hamradio'):
+            template = loader.load('packages.xhtml')
+        else:
+            template = loader.load('tasks.xhtml')
+
+        lines = template.generate(**data).render('xhtml').split('\n')
+        for line in lines:
+            # We had to mask ampersand ('&') from Genshi but even if
+            # the browser shows the correct character
+            # packages.debian.org gets confused - so turn it back here
+            if detect_ampersand_code_re.search(line):
+                if '%26' in line:
+                    print line
+                line = re.sub('%26', '&', line)
+        with codecs.open(outputfile, "w", "utf-8") as f:
+            f.write('\n'.join(lines))
+        SetFilePermissions(outputfile)
+
+    template = loader.load('packagelist.xhtml')
+
+    outputfile = os.path.join(outputdir,
+                              'packagelist.{0}.html'.format(lang))
+
+    data['projectsintasks'] = []
+    for task in data['taskskeys']:
+        data['projectsintasks']     = tasks.tasks[task].dependencies
+
+    with codecs.open(outputfile, 'w', 'utf-8') as f:
+        f.write(template.generate(**data).render('xhtml'))
+    SetFilePermissions(outputfile)
+
+
+htafp.write("LanguagePriority")
 for lang in languages:
-	print >> htafp, language_dict[lang]['htaccess'] ,
-print >> htafp
+    htafp.write(' ' + language_dict[lang]['htaccess'])
+htafp.write("\n")
 
 htafp.close()
 SetFilePermissions(htaccess)

-- 
Static and dynamic websites for Debian Pure Blends



More information about the Blends-commit mailing list