[Blends-commit] [SCM] website branch, master, updated. e06fa1d14646049a641a55b54b7c9445c23dd18c
Ole Streicher
olebole at debian.org
Sun Mar 20 13:54:53 UTC 2016
The following commit has been merged in the master branch:
commit e06fa1d14646049a641a55b54b7c9445c23dd18c
Author: Ole Streicher <olebole at debian.org>
Date: Sun Mar 20 14:54:41 2016 +0100
Move pkg into properties as 'name'
diff --git a/webtools/blendstasktools.py b/webtools/blendstasktools.py
index bb6f38e..88707d2 100644
--- a/webtools/blendstasktools.py
+++ b/webtools/blendstasktools.py
@@ -718,8 +718,8 @@ class DependantPackage:
# Hold information about a package that is in dependency list
def __init__(self, name):
- self.pkg = name # Name of dependant package
self.properties = {}
+ self.properties['name'] = name
self.properties['license'] = 'unknown'
self.properties['pkgstatus'] = 'unknown'
self.properties['component'] = None
@@ -741,10 +741,10 @@ class DependantPackage:
if other is None:
return -2
# Sort according to package name
- return cmp(self.pkg, other.pkg)
+ return cmp(self.properties['name'], other.properties['name'])
def __str__(self):
- ret = "pkg:" + self.pkg
+ ret = "pkg:" + self.properties['name']
if self.dep_strength:
ret += ", Dep_strength: " + self.dep_strength
if self.desc:
@@ -796,19 +796,19 @@ class DependantPackage:
# emergency brake if algorithm fails to detect non-names like '1000 Genome Project Data Processing Subgroup'
if authors_string.count(',') > row[pub].count(' and '):
logger.warning("Refuse to change Author string in %s: '%s'(%i) -> '%s'(%i)"
- % (self.pkg, row[pub], row[pub].count(' and '), authors_string, authors_string.count(',')))
+ % (self.properties['name'], row[pub], row[pub].count(' and '), authors_string, authors_string.count(',')))
else:
logger.debug("Author string changed in %s: '%s' -> '%s'"
- % (self.pkg, row[pub], authors_string))
+ % (self.properties['name'], row[pub], authors_string))
row[pub] = authors_string
if 'published' not in self.properties:
self.properties['published'] = {}
if pub in self.properties['published']:
if self.properties['published'][pub] == row[pub]:
- rmpub.write("%s: %s: Published-%s: %s" % (taskname, self.pkg, pub, row[pub]))
- logger.info("%s/%s: Publication-%s = %s can be removed" % (taskname, self.pkg, pub, row[pub]))
+ rmpub.write("%s: %s: Published-%s: %s" % (taskname, self.properties['name'], pub, row[pub]))
+ logger.info("%s/%s: Publication-%s = %s can be removed" % (taskname, self.properties['name'], pub, row[pub]))
else:
- logger.info("%s conflicting fields Publication-%s in tasks file with value '%s' and in UDD with value '%s'" % (self.pkg, pub, self.properties['published'][pub], row[pub]))
+ logger.info("%s conflicting fields Publication-%s in tasks file with value '%s' and in UDD with value '%s'" % (self.properties['name'], pub, self.properties['published'][pub], row[pub]))
self.properties['published'][pub] = row[pub]
@@ -933,7 +933,7 @@ class Tasks:
list = []
for dep in use_dependencystatus:
for tdep in tdeps.dependencies[dep]:
- list.append(tdep.pkg)
+ list.append(tdep.properties['name'])
ret[task] = list
return ret
@@ -950,7 +950,7 @@ class Tasks:
if 'outdated' in tdep.properties:
# versions are ordered lists ---v--- last one is needed
pkgList.append({
- 'name': tdep.pkg,
+ 'name': tdep.properties['name'],
'debian_version': tdep.properties['version'][-1]['version'],
'upstream_version': tdep.properties['outdated']['version'],
'maintainer': tdep.properties.get('maintainer'),
@@ -976,11 +976,11 @@ class Tasks:
for tdep in tdeps.dependencies[dep]:
# add only packages in main, because others do not have DDTP translations
if tdep.properties['component'] == 'main':
- self.alldeps_in_main.append(tdep.pkg)
- self.alldeps_in_main_info[tdep.pkg] = tdep
+ self.alldeps_in_main.append(tdep.properties['name'])
+ self.alldeps_in_main_info[tdep.properties['name']] = tdep
# Also add meta package itself to make use of translated meta package description
- self.alldeps_in_main.append(self.tasks[task].metapkg.pkg)
- self.alldeps_in_main_info[self.tasks[task].metapkg.pkg] = self.tasks[task].metapkg
+ self.alldeps_in_main.append(self.tasks[task].metapkg.properties['name'])
+ self.alldeps_in_main_info[self.tasks[task].metapkg.properties['name']] = self.tasks[task].metapkg
self.alldeps_in_main.sort()
return self.alldeps_in_main
@@ -998,13 +998,13 @@ class Tasks:
for dependency in tdeps.dependencies:
for dep in tdeps.dependencies[dependency]:
if dep.properties['Enhances'] != {}:
- logger.debug("Package %s is enhanced by:" % dep.pkg)
+ logger.debug("Package %s is enhanced by:" % dep.properties['name'])
for enh in dep.properties['Enhances']:
# seek for Enhances on same page
found = 0
for seek_dependency in tdeps.dependencies:
for enhdep in tdeps.dependencies[seek_dependency]:
- if enh == enhdep.pkg:
+ if enh == enhdep.properties['name']:
dep.properties['Enhances'][enh] = '#' + enh
found = 1 # found enhances in same task
break
@@ -1015,7 +1015,7 @@ class Tasks:
enhtdeps = self.tasks[enhtask]
for seek_dependency in enhtdeps.dependencies:
for enhdep in enhtdeps.dependencies[seek_dependency]:
- if enh == enhdep.pkg:
+ if enh == enhdep.properties['name']:
dep.properties['Enhances'][enh] = './' + enhtask + '#' + enh
found = 1 # found enhances in other task
break
@@ -1075,7 +1075,7 @@ class TaskDependencies:
self.metapkg.desc[lang['ddtp']]['long'] = PrepareMarkdownInput(ddtptranslations['long_description_' + lang['ddtp']])
except AttributeError as err:
logger.error("===> AttributeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s"
- % (self.metapkg.pkg, lang['ddtp'], ddtptranslations['long_description_' + lang['ddtp']], err))
+ % (self.metapkg.properties['name'], lang['ddtp'], ddtptranslations['long_description_' + lang['ddtp']], err))
self.metapkg.desc[lang['ddtp']]['long'] = 'Missing long description'
def _AppendDependency2List(self, dep, source):
@@ -1084,7 +1084,7 @@ class TaskDependencies:
if dep is None:
return
if dep.dep_strength == 'Ignore' or dep.dep_strength == 'Avoid':
- logger.debug("Ignore/Avoid package : %s" % dep.pkg)
+ logger.debug("Ignore/Avoid package : %s" % dep.properties['name'])
return
if source != 1:
# In general we can just add the dependency to the list
@@ -1095,7 +1095,7 @@ class TaskDependencies:
# no duplication occures
found = False
for hasdep in self.dependencies[dep.properties['pkgstatus']]:
- if hasdep.pkg == dep.pkg:
+ if hasdep.properties['name'] == dep.properties['name']:
found = True
break
if not found:
@@ -1184,7 +1184,7 @@ class TaskDependencies:
tmp_dep_list.append(dep)
if not dep_in_line.islower():
logger.warning("Package names may not contain upper case letters, so %s is an invalid package name which is turned into %s"
- % (dep_in_line, dep.pkg))
+ % (dep_in_line, dep.properties['name']))
dep_in_line = dep_in_line.lower()
dep = DependantPackage(dep_in_line)
# Store the comments in case they might be usefull for later applications
@@ -1373,7 +1373,7 @@ class TaskDependencies:
dep.properties['remark'] = remark
if fields_obsolete != [] and dep.properties['pkgstatus'] != 'new':
logger.info("Package %s is an official package and has information in UDD. The following extra information can be removed from tasks file %s: %s"
- % (dep.pkg, self.task, str(fields_obsolete)))
+ % (dep.properties['name'], self.task, str(fields_obsolete)))
self._AppendDependency2List(dep, source)
f.close()
@@ -1381,7 +1381,7 @@ class TaskDependencies:
alldepends = []
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- alldepends.append(dep.pkg)
+ alldepends.append(dep.properties['name'])
if 'PrintedName' not in self.metapkg.properties:
logger.error("Task file %s is lacking field 'Task' - and thus will be ignored" % self.taskfile)
@@ -1399,7 +1399,7 @@ class TaskDependencies:
found = False
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg == row['package']:
+ if dep.properties['name'] == row['package']:
found = True
break
if found:
@@ -1434,7 +1434,7 @@ class TaskDependencies:
if dep.desc['en'] and dep.desc['en']['short'] and 'debtags' not in dep.properties:
# prevent informing about packages which are just duplicated because of a broken query
logger.info("WNPP for package %s just closed - extra information can be removed from task file %s."
- % (dep.pkg, self.task))
+ % (dep.properties['name'], self.task))
dep.properties['license'] = license_in_component[dep.properties['component']]
for prop in PROPERTIES:
@@ -1459,7 +1459,7 @@ class TaskDependencies:
for rel, ver, arch in zip(row['releases'], row['versions'],
row['architectures']):
dep.properties['version'].append({
- 'url': 'https://packages.debian.org/{0}/{1}'.format(rel, dep.pkg),
+ 'url': 'https://packages.debian.org/{0}/{1}'.format(rel, dep.properties['name']),
'release': rel,
'version': ver,
'archs': arch
@@ -1478,7 +1478,7 @@ class TaskDependencies:
# there is no reasonable way that debtags was set before,
# so something is wrong here and a warning should be issued
if debtags:
- logger.warning("Debtags for package '%s' was just set." % dep.pkg
+ logger.warning("Debtags for package '%s' was just set." % dep.properties['name']
+ " A duplicated result from database query is suspected."
+ " Please check the result!")
@@ -1515,7 +1515,7 @@ class TaskDependencies:
# link to packages.debian.org search page to see overview about all
# package versions in all releases
- dep.properties['pkg-url'] = PKGURLMASK % dep.pkg
+ dep.properties['pkg-url'] = PKGURLMASK % dep.properties['name']
for lang in languages:
if row.get('description_' + lang['ddtp']):
@@ -1525,28 +1525,28 @@ class TaskDependencies:
if row['long_description_' + lang['ddtp']]:
dep.desc[lang['ddtp']]['long'] = PrepareMarkdownInput(row['long_description_' + lang['ddtp']])
if 'short' not in dep.desc['en']:
- logger.error("Dep has no English short description: %s", dep.pkg)
- dep.desc['en']['short'] = "??? missing short description for package %s :-(" % dep.pkg
+ logger.error("Dep has no English short description: %s", dep.properties['name'])
+ dep.desc['en']['short'] = "??? missing short description for package %s :-(" % dep.properties['name']
if row['maintainer']:
(_name, _url) = email.utils.parseaddr(row['maintainer'])
dep.properties['maintainer'] = {'name': _name, 'email': _url}
if row.get('edam_topics'):
- logger.info("Edam topics found for package %s: %s" % (dep.pkg, str(row['edam_topics'])))
+ logger.info("Edam topics found for package %s: %s" % (dep.properties['name'], str(row['edam_topics'])))
# Publications
dep.SetPublications(self.task, row)
- pkgs_in_pool.append(dep.pkg)
+ pkgs_in_pool.append(dep.properties['name'])
# DEBUG
# print dep
pkgs_not_in_pool = []
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg not in pkgs_in_pool:
- pkgs_not_in_pool.append(dep.pkg)
+ if dep.properties['name'] not in pkgs_in_pool:
+ pkgs_not_in_pool.append(dep.properties['name'])
# Gather information about packages in NEW
query = "EXECUTE query_new('%s')" % List2PgArray(pkgs_not_in_pool)
@@ -1559,7 +1559,7 @@ class TaskDependencies:
found = False
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg == row['package']:
+ if dep.properties['name'] == row['package']:
found = True
break
if found:
@@ -1579,7 +1579,7 @@ class TaskDependencies:
dep.properties['pkg-url'] = 'http://ftp-master.debian.org/new/%s_%s.html' % (row['source'], row['version'])
# Warn about remaining information of prospective package
if (dep.desc['en'] and dep.desc['en']['short']) or dep.properties['homepage'] != HOMEPAGENONE:
- logger.info("The package %s is not yet in Debian but it is just in the new queue. (Task %s)" % (dep.pkg, self.task))
+ logger.info("The package %s is not yet in Debian but it is just in the new queue. (Task %s)" % (dep.properties['name'], self.task))
for prop in PROPERTIES:
dep.properties[prop] = row[prop]
dep.desc['en']['short'] = row['description_en']
@@ -1594,7 +1594,7 @@ class TaskDependencies:
changed = row['changed_by']
except TypeError as err:
changed = None
- logger.warning("Encoding problem for uploader to ftpnew of package '%s' in task %s (%s)" % (dep.pkg, self.task, err))
+ logger.warning("Encoding problem for uploader to ftpnew of package '%s' in task %s (%s)" % (dep.properties['name'], self.task, err))
if changed:
(_name, _url) = email.utils.parseaddr(changed)
dep.properties['uploader'] = {'name': _name, 'email': _url}
@@ -1607,14 +1607,14 @@ class TaskDependencies:
virtual_pkgs = RowDictionaries(curs)
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_in_new:
+ if dep.properties['name'] not in pkgs_in_pool and dep.properties['name'] not in pkgs_in_new:
found = False
for vp in virtual_pkgs:
for pr in vp['provides'].split(','):
prs = pr.strip()
- if dep.pkg == prs:
+ if dep.properties['name'] == prs:
pkgs_virtual.append(prs)
- logger.info("Virtual package %s is provided by package %s for task %s" % (dep.pkg, vp['package'], self.task))
+ logger.info("Virtual package %s is provided by package %s for task %s" % (dep.properties['name'], vp['package'], self.task))
found = True
break
if found:
@@ -1623,8 +1623,8 @@ class TaskDependencies:
pkgs_not_in_pool = []
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_virtual:
- pkgs_not_in_pool.append(dep.pkg)
+ if dep.properties['name'] not in pkgs_in_pool and dep.properties['name'] not in pkgs_virtual:
+ pkgs_not_in_pool.append(dep.properties['name'])
# Gather information about packages in Vcs
query = "EXECUTE query_vcs('%s')" % List2PgArray(pkgs_not_in_pool)
_execute_udd_query(query)
@@ -1637,7 +1637,7 @@ class TaskDependencies:
found = False
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg == row['package']:
+ if dep.properties['name'] == row['package']:
found = True
break
if found:
@@ -1679,7 +1679,7 @@ class TaskDependencies:
changed = row['changed_by']
except TypeError as err:
changed = None
- logger.warning("Encoding problem for changelog author in Vcs of package '%s' in task %s (%s)" % (dep.pkg, self.task, err))
+ logger.warning("Encoding problem for changelog author in Vcs of package '%s' in task %s (%s)" % (dep.properties['name'], self.task, err))
if changed:
(_name, _url) = email.utils.parseaddr(changed)
dep.properties['uploader'] = {'name': _name, 'email': _url}
@@ -1687,20 +1687,20 @@ class TaskDependencies:
# Verify whether packages which are neither in pool, new, vcs nor virtual have sufficient information in task file
for status in self.dependencies.keys():
for dep in self.dependencies[status]:
- if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_in_new and dep.pkg not in pkgs_virtual and dep.properties['pkgstatus'] in ('unknown', 'pkgvcs'):
+ if dep.properties['name'] not in pkgs_in_pool and dep.properties['name'] not in pkgs_in_new and dep.properties['name'] not in pkgs_virtual and dep.properties['pkgstatus'] in ('unknown', 'pkgvcs'):
# If only Vcs fields are given than we currently do not know enough to print package information
if dep.properties['pkgstatus'] == 'pkgvcs' and (dep.properties['homepage'] == HOMEPAGENONE or dep.desc['en'] == {}):
- logger.error("Package %s in task %s has only Vcs information - please provide more information" % (dep.pkg, self.task))
+ logger.error("Package %s in task %s has only Vcs information - please provide more information" % (dep.properties['name'], self.task))
self.dependencies[status].remove(dep)
# dep.properties['pkgstatus'] == 'unknown'
if dep.properties['homepage'] == HOMEPAGENONE:
if dep.desc['en'] == {}:
- logger.error("Package %s in task %s neither in pool nor new and is lacking homepage and description - ignored" % (dep.pkg, self.task))
+ logger.error("Package %s in task %s neither in pool nor new and is lacking homepage and description - ignored" % (dep.properties['name'], self.task))
else:
- logger.error("Package %s in task %s neither in pool nor new and has no homepage information - ignored (%s)" % (dep.pkg, self.task, dep.properties['pkgstatus']))
+ logger.error("Package %s in task %s neither in pool nor new and has no homepage information - ignored (%s)" % (dep.properties['name'], self.task, dep.properties['pkgstatus']))
else:
if dep.desc['en'] == {}:
- logger.error("Package %s neither in pool nor new and has no description - ignored" % dep.pkg)
+ logger.error("Package %s neither in pool nor new and has no description - ignored" % dep.properties['name'])
else:
# prevent printing WNPP of packages inside Debian
if 'wnpp' in dep.properties and dep.properties['pkgstatus'] not in ('wnpp', 'pkgvcs'):
@@ -1714,7 +1714,7 @@ class TaskDependencies:
return sum(len(dep) for dep in self.dependencies.values())
def _QueryUDD4Package(self, source):
- query = "EXECUTE pkg_releases ('%s', '%s')" % (self.pkg, self.properties['component'])
+ query = "EXECUTE pkg_releases ('%s', '%s')" % (self.properties['name'], self.properties['component'])
_execute_udd_query(query)
has_official = 0
for rel in curs.fetchall():
@@ -1723,7 +1723,7 @@ class TaskDependencies:
has_official = 1
# Version in stable / testing for long table
- query = "EXECUTE pkg_versions_stable_testing ('%s')" % (self.pkg)
+ query = "EXECUTE pkg_versions_stable_testing ('%s')" % (self.properties['name'])
_execute_udd_query(query)
if curs.rowcount > 0:
prefix = 'Versions: '
@@ -1760,12 +1760,12 @@ class TaskDependencies:
vcs['browser'] = BrowserFromVcsURL(vcs['type'], vcs['url'])
# 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
+ self.properties['name'] = self.properties['source']
+ # Stop using source package in self.properties['name'] 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:
- logger.error("Failed to obtain source for package", self.pkg)
+ logger.error("Failed to obtain source for package", self.properties['name'])
return
if source == 0:
@@ -1776,7 +1776,7 @@ class TaskDependencies:
if flag == 0:
# If there was no such package found query UDD whether any package provides this name
# This is often the case for libraries with versions in the package name
- query = "EXECUTE query_provides ('%s')" % (dep.pkg)
+ query = "EXECUTE query_provides ('%s')" % (dep.properties['name'])
_execute_udd_query(query)
if curs.rowcount > 0:
has_expilicite = 0
@@ -1784,21 +1784,21 @@ class TaskDependencies:
for row in curs.fetchall():
VirtProvides.append(row[0])
for hasdeps in tmp_dep_list:
- if row[0] == hasdeps.pkg:
+ if row[0] == hasdeps.properties['name']:
logger.error(" --> %s is mentioned explicitely in dependency list" % row[0])
has_expilicite = 1
if has_expilicite == 1:
- logger.error("Do not keep a record of virtual package %s which has explicite package dependencies" % dep.pkg)
+ logger.error("Do not keep a record of virtual package %s which has explicite package dependencies" % dep.properties['name'])
# ATTENTION: THIS HAS TO BE CHANGED FOR blends-dev BY AN OPTIONAL parameter
# continue
- logger.error("Use real package %s instead of virtual package %s." % (VirtProvides[0], dep.pkg))
- dep.pkg = VirtProvides[0]
+ logger.error("Use real package %s instead of virtual package %s." % (VirtProvides[0], dep.properties['name']))
+ dep.properties['name'] = VirtProvides[0]
dep._QueryUDD4Package(source)
if len(VirtProvides) > 1:
logger.error("Virtual package %s is provided by more than one package (%s). Make sure you mention a real package in addition!"
- % (dep.pkg, str(VirtProvides)))
+ % (dep.properties['name'], str(VirtProvides)))
for virt_provides in VirtProvides[1:]:
# Add all remaining packages which provide a virtual package to the list
@@ -1815,7 +1815,7 @@ class TaskDependencies:
dep.dep_strength = key
dep._QueryUDD4Package(source)
else:
- logger.warning("Dependency with unknown status: %s (Task %s)" % (dep.pkg, self.task))
+ logger.warning("Dependency with unknown status: %s (Task %s)" % (dep.properties['name'], self.task))
for dependency in self.dependencies.values():
dependency.sort()
diff --git a/webtools/blendstasktools_udd.py b/webtools/blendstasktools_udd.py
index 1edd5ea..8237603 100644
--- a/webtools/blendstasktools_udd.py
+++ b/webtools/blendstasktools_udd.py
@@ -674,9 +674,9 @@ class DependantPackage:
# Hold information about a package that is in dependency list
def __init__(self, name):
- self.pkg = name # Name of dependant package
self.source = None # Name of source package of the dependency
self.properties = {}
+ self.properties['name'] = name # Name of dependant package
self.properties['license'] = 'unknown'
self.properties['pkgstatus'] = 'unknown'
self.properties['component'] = None
@@ -702,10 +702,10 @@ class DependantPackage:
if other is None:
return -2
# Sort according to package name
- return cmp(self.pkg, other.pkg)
+ return cmp(self.properties['name'], other.properties['name'])
def __str__(self):
- ret = "pkg:" + self.pkg
+ ret = "pkg:" + self.properties['name']
if self.dep_strength:
ret += ", Dep_strength: " + self.dep_strength
if self.desc:
@@ -760,19 +760,19 @@ class DependantPackage:
# emergency brake if algorithm fails to detect non-names like '1000 Genome Project Data Processing Subgroup'
if authors_string.count(',') > row[pub].count(' and '):
logger.warning("Refuse to change Author string in %s: '%s'(%i) -> '%s'(%i)"
- % (self.pkg, row[pub], row[pub].count(' and '), authors_string, authors_string.count(',')))
+ % (self.properties['name'], row[pub], row[pub].count(' and '), authors_string, authors_string.count(',')))
else:
logger.debug("Author string changed in %s: '%s' -> '%s'"
- % (self.pkg, row[pub], authors_string))
+ % (self.properties['name'], row[pub], authors_string))
row[pub] = authors_string
if 'published' not in self.properties:
self.properties['published'] = {}
if pub in self.properties['published']:
if self.properties['published'][pub] == row[pub]:
- rmpub.write("%s: %s: Published-%s: %s" % (taskname, self.pkg, pub, row[pub]))
- logger.info("%s/%s: Publication-%s = %s can be removed" % (taskname, self.pkg, pub, row[pub]))
+ rmpub.write("%s: %s: Published-%s: %s" % (taskname, self.properties['name'], pub, row[pub]))
+ logger.info("%s/%s: Publication-%s = %s can be removed" % (taskname, self.properties['name'], pub, row[pub]))
else:
- logger.info("%s conflicting fields Publication-%s in tasks file with value '%s' and in UDD with value '%s'" % (self.pkg, pub, self.properties['published'][pub], row[pub]))
+ logger.info("%s conflicting fields Publication-%s in tasks file with value '%s' and in UDD with value '%s'" % (self.properties['name'], pub, self.properties['published'][pub], row[pub]))
self.properties['published'][pub] = row[pub]
@@ -886,7 +886,7 @@ class Tasks:
list = []
for dep in use_dependencystatus:
for tdep in tdeps.dependencies[dep]:
- list.append(tdep.pkg)
+ list.append(tdep.properties['name'])
ret[task] = list
return ret
@@ -906,11 +906,11 @@ class Tasks:
for tdep in tdeps.dependencies[dep]:
# add only packages in main, because others do not have DDTP translations
if tdep.properties['component'] == 'main':
- self.alldeps_in_main.append(tdep.pkg)
- self.alldeps_in_main_info[tdep.pkg] = tdep
+ self.alldeps_in_main.append(tdep.properties['name'])
+ self.alldeps_in_main_info[tdep.properties['name']] = tdep
# Also add meta package itself to make use of translated meta package description
- self.alldeps_in_main.append(self.tasks[task].metapkg.pkg)
- self.alldeps_in_main_info[self.tasks[task].metapkg.pkg] = self.tasks[task].metapkg
+ self.alldeps_in_main.append(self.tasks[task].metapkg.properties['name'])
+ self.alldeps_in_main_info[self.tasks[task].metapkg.properties['name']] = self.tasks[task].metapkg
self.alldeps_in_main.sort()
return self.alldeps_in_main
@@ -928,13 +928,13 @@ class Tasks:
for dependency in tdeps.dependencies:
for dep in tdeps.dependencies[dependency]:
if dep.properties['Enhances'] != {}:
- logger.debug("Package %s is enhanced by:" % dep.pkg)
+ logger.debug("Package %s is enhanced by:" % dep.properties['name'])
for enh in dep.properties['Enhances']:
# seek for Enhances on same page
found = 0
for seek_dependency in tdeps.dependencies:
for enhdep in tdeps.dependencies[seek_dependency]:
- if enh == enhdep.pkg:
+ if enh == enhdep.properties['name']:
dep.properties['Enhances'][enh] = '#' + enh
found = 1 # found enhances in same task
break
@@ -945,7 +945,7 @@ class Tasks:
enhtdeps = self.tasks[enhtask]
for seek_dependency in enhtdeps.dependencies:
for enhdep in enhtdeps.dependencies[seek_dependency]:
- if enh == enhdep.pkg:
+ if enh == enhdep.properties['name']:
dep.properties['Enhances'][enh] = './' + enhtask + '#' + enh
found = 1 # found enhances in other task
break
@@ -996,7 +996,7 @@ class TaskDependencies:
self.metapkg.desc[lang['ddtp']]['long'] = PrepareMarkdownInput(dtptranslations['long_description_' + lang['ddtp']])
except AttributeError as err:
logger.error("===> AttributeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s"
- % (self.metapkg.pkg, lang, ddtptranslations['long_description_' + lang['ddtp']], err))
+ % (self.metapkg.properties['name'], lang, ddtptranslations['long_description_' + lang['ddtp']], err))
self.metapkg.desc[lang['ddtp']]['long'] = 'Missing long description'
def _AppendDependency2List(self, dep):
@@ -1005,10 +1005,10 @@ class TaskDependencies:
if dep is None:
return
if dep.dep_strength == 'i' or dep.dep_strength == 'a':
- logger.debug("Ignore/Avoid package : %s" % dep.pkg)
+ logger.debug("Ignore/Avoid package : %s" % dep.properties['name'])
return
- logger.debug("Appending package to list : %s" % dep.pkg)
+ logger.debug("Appending package to list : %s" % dep.properties['name'])
self.dependencies[dep.properties['pkgstatus']].append(dep)
return
@@ -1032,8 +1032,8 @@ class TaskDependencies:
# seek for package name in list of packages mentioned in tasks file
found = False
for dep in dependencies:
- if dep.pkg == row['package']:
- logger.debug("Package : %s" % dep.pkg)
+ if dep.properties['name'] == row['package']:
+ logger.debug("Package : %s" % dep.properties['name'])
found = True
break
@@ -1097,7 +1097,7 @@ class TaskDependencies:
row['architectures']),
key=lambda x: release_order[x[0]]):
dep.properties['version'].append({
- 'url': 'https://packages.debian.org/{0}/{1}'.format(rel, dep.pkg),
+ 'url': 'https://packages.debian.org/{0}/{1}'.format(rel, dep.properties['name']),
'release': rel,
'version': ver,
'archs': arch
@@ -1115,7 +1115,7 @@ class TaskDependencies:
# there is no reasonable way that debtags was set before,
# so something is wrong here and a warning should be issued
if debtags:
- logger.warning("Debtags for package '%s' was just set." % dep.pkg
+ logger.warning("Debtags for package '%s' was just set." % dep.properties['name']
+ " A duplicated result from database query is suspected."
+ " Please check the result!")
@@ -1152,7 +1152,7 @@ class TaskDependencies:
# link to packages.debian.org search page to see overview about all
# package versions in all releases
- dep.properties['pkg-url'] = PKGURLMASK % dep.pkg
+ dep.properties['pkg-url'] = PKGURLMASK % dep.properties['name']
for lang in languages:
if row.get('description_' + lang['ddtp']):
@@ -1162,14 +1162,14 @@ class TaskDependencies:
if row['long_description_' + lang['ddtp']]:
dep.desc[lang['ddtp']]['long'] = PrepareMarkdownInput(row['long_description_' + lang['ddtp']])
if 'short' not in dep.desc['en']:
- logger.error("Dep has no English short description: %s", dep.pkg)
- dep.desc['en']['short'] = "??? missing short description for package %s :-(" % dep.pkg
+ logger.error("Dep has no English short description: %s", dep.properties['name'])
+ dep.desc['en']['short'] = "??? missing short description for package %s :-(" % dep.properties['name']
(_name, _url) = email.utils.parseaddr(row['maintainer'])
dep.properties['maintainer'] = {'name': _name, 'email': _url}
if row.get('edam_topics'):
- logger.info("Edam topics found for package %s: %s" % (dep.pkg, str(row['edam_topics'])))
+ logger.info("Edam topics found for package %s: %s" % (dep.properties['name'], str(row['edam_topics'])))
if row.get('remark'):
(shortDesc, longDesc) = SplitDescription(row['remark'])
@@ -1213,7 +1213,7 @@ class TaskDependencies:
# dep.license
dep.dep_strength = each_dep[1] # Depends: 'd' or Suggests: 's'
- alldepends.append(dep.pkg)
+ alldepends.append(dep.properties['name'])
dependencies.append(dep)
#self.dependencies[dep.pkgstat].append(dep)
@@ -1239,7 +1239,7 @@ class TaskDependencies:
dep.properties['license'] = each_pros[1]
dep.dep_strength = each_pros[2]
- alldepends.append(dep.pkg)
+ alldepends.append(dep.properties['name'])
dependencies.append(dep)
query = "EXECUTE query_vcs('%s')" % List2PgArray(alldepends)
@@ -1262,7 +1262,7 @@ class TaskDependencies:
for each_new_pkg in pkgs_new:
dep = DependantPackage(each_new_pkg[0])
- alldepends.append(dep.pkg)
+ alldepends.append(dep.properties['name'])
dependencies.append(dep)
query = "EXECUTE query_new('%s')" % List2PgArray(alldepends)
diff --git a/webtools/tasks.py b/webtools/tasks.py
index 8328f2d..ae5f3ec 100755
--- a/webtools/tasks.py
+++ b/webtools/tasks.py
@@ -213,7 +213,7 @@ for lang in languages:
# unknown status but only once and not per language
for dep in tasks.tasks[task].dependencies[status]:
stderr.write("Warning: Dependency with unknown status: %s\n"
- % dep.pkg)
+ % dep.properties['name'])
# 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")
diff --git a/webtools/tasks_udd.py b/webtools/tasks_udd.py
index 84bc572..e069afc 100755
--- a/webtools/tasks_udd.py
+++ b/webtools/tasks_udd.py
@@ -213,7 +213,7 @@ for lang in languages:
# unknown status but only once and not per language
for dep in tasks.tasks[task].dependencies[status]:
stderr.write("Warning: Dependency with unknown status: %s\n"
- % dep.pkg)
+ % dep.properties['name'])
# 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")
diff --git a/webtools/templates/debian-astro_idx.xhtml b/webtools/templates/debian-astro_idx.xhtml
index 7482c47..8775b5b 100644
--- a/webtools/templates/debian-astro_idx.xhtml
+++ b/webtools/templates/debian-astro_idx.xhtml
@@ -59,7 +59,7 @@
deps = []
for d in task.dependencies.values():
deps += d
- pkg = (dep for dep in deps if dep.pkg == pkg_name).next()
+ pkg = (dep for dep in deps if dep.properties['name'] == pkg_name).next()
except:
pkg = None
?>
diff --git a/webtools/templates/packagelist.xhtml b/webtools/templates/packagelist.xhtml
index 4acbb9f..3ac0b7b 100644
--- a/webtools/templates/packagelist.xhtml
+++ b/webtools/templates/packagelist.xhtml
@@ -57,11 +57,11 @@
<dl>
<py:for each="project in projects[task][pstatus]">
<dt><span py:choose="project.properties['homepage']">
- <span py:when="'#'">${project.pkg.capitalize()}</span>
- <span py:otherwise=""><a href="${project.properties['homepage']}">${project.pkg.capitalize()}</a></span>
+ <span py:when="'#'">${project.properties['name'].capitalize()}</span>
+ <span py:otherwise=""><a href="${project.properties['homepage']}">${project.properties['name'].capitalize()}</a></span>
</span>
<span py:choose="">
- <span py:when="len(project.properties['stable_testing_version'])>0">(<py:for each="version in project.properties['stable_testing_version']">${version[3]} <a href="http://packages.debian.org/${version[0]}/${project.pkg}">${version[2]}</a></py:for>)</span>
+ <span py:when="len(project.properties['stable_testing_version'])>0">(<py:for each="version in project.properties['stable_testing_version']">${version[3]} <a href="http://packages.debian.org/${version[0]}/${project.properties['name']}">${version[2]}</a></py:for>)</span>
</span>
</dt>
<dd><span py:choose="">
diff --git a/webtools/templates/packages.xhtml b/webtools/templates/packages.xhtml
index 89ddb59..7d6f0c3 100644
--- a/webtools/templates/packages.xhtml
+++ b/webtools/templates/packages.xhtml
@@ -223,13 +223,13 @@ function show_fulldesc(hash) {
</em>
<py:choose>
<py:when test="lang in tasks[task].metapkg.desc">
- <a class="editlink" title="${fixtranslation}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.pkg}" py:if="lang != 'en'">
+ <a class="editlink" title="${fixtranslation}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.properties['name']}" py:if="lang != 'en'">
✏
</a>
${render_longdesc(tasks[task].metapkg.desc[lang].get('long', ''))}
</py:when>
<py:otherwise>
- <a class="editlink" title="${translatedesc}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.pkg}" py:if="lang != 'en'">
+ <a class="editlink" title="${translatedesc}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.properties['name']}" py:if="lang != 'en'">
✏
</a>
${render_longdesc(tasks[task].metapkg.desc['en'].get('long', ''))}
@@ -262,19 +262,19 @@ function show_fulldesc(hash) {
<th>Description</th>
</tr>
<py:for each="line, project in enumerate(projects[task][pstatus])">
- <tr id="${project.pkg}.short"
+ <tr id="${project.properties['name']}.short"
class="pkgdesc-short ${'alternate-color' if line % 2 == 1
else ''}">
<td>
- <a onclick="toggle_visibility('${project.pkg}');"
+ <a onclick="toggle_visibility('${project.properties['name']}');"
style="cursor:pointer;" title="Click to toggle details">
▾
</a>
</td>
<td style="text-transform:capitalize;">
- <a onclick="toggle_visibility('${project.pkg}');"
+ <a onclick="toggle_visibility('${project.properties['name']}');"
style="cursor:pointer;" title="Click to toggle details">
- ${project.pkg}
+ ${project.properties['name']}
</a>
</td>
<td>
@@ -317,7 +317,7 @@ function show_fulldesc(hash) {
</py:if>
</td>
<td>
- <a onclick="toggle_visibility('${project.pkg}');"
+ <a onclick="toggle_visibility('${project.properties['name']}');"
style="cursor:pointer;" title="Click to toggle details">
<py:choose>
<py:when test="lang in project.desc">${project.desc[lang]['short']}</py:when>
@@ -326,11 +326,11 @@ function show_fulldesc(hash) {
</a>
</td>
</tr>
- <tr id="${project.pkg}" style="display:none;"
+ <tr id="${project.properties['name']}" style="display:none;"
class="pkgdesc-full ${'alternate-color' if line % 2 == 1 else ''}">
<td colspan="4">
<h3>
- ${project.pkg.capitalize()}:
+ ${project.properties['name'].capitalize()}:
<py:choose>
<py:when test="lang in project.desc">${project.desc[lang]['short']}</py:when>
<py:otherwise>${project.desc['en']['short']}</py:otherwise>
@@ -340,13 +340,13 @@ function show_fulldesc(hash) {
<py:choose>
<py:when test="'screenshot' in project.properties">
<dt class="screenshot">
- <a class="tooltip" href="http://screenshots.debian.net/package/${project.pkg}">
+ <a class="tooltip" href="http://screenshots.debian.net/package/${project.properties['name']}">
<img src="${project.properties['screenshot']['icon']}" alt="Description:" />
<span class="tooltip centered">
<img src="${project.properties['screenshot']['image']}" />
<table py:if="'screenshots' in project.properties['screenshot']" class="versionclass">
<tr><th colspan="3"
- class="versionclass"><strong>Other screenshots of package ${project.pkg}</strong></th></tr>
+ class="versionclass"><strong>Other screenshots of package ${project.properties['name']}</strong></th></tr>
<tr><th class="version">Version</th><th class="archs">URL</th></tr>
<py:for each="screenshot in project.properties['screenshot']['screenshots']">
<tr><td class="version">${screenshot['version']}</td><td class="archs"><a href="${screenshot['url']}">${screenshot['url']}</a></td></tr>
@@ -363,7 +363,7 @@ function show_fulldesc(hash) {
<dd>
<py:choose>
<py:when test="lang != 'en' and lang in project.desc">
- <a class="editlink" title="${fixtranslation}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${project.pkg}">
+ <a class="editlink" title="${fixtranslation}" href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${project.properties['name']}">
✏
</a>
${render_longdesc(project.desc[lang].get('long', ''))}
@@ -468,7 +468,7 @@ function show_fulldesc(hash) {
<py:if test="'debtags' in project.properties">
<dt>Tags</dt>
<dd>
- <a class="editlink" title="Edit tags" href="https://debtags.debian.org/edit/${project.pkg}">
+ <a class="editlink" title="Edit tags" href="https://debtags.debian.org/edit/${project.properties['name']}">
✏
</a>
<dl class="debtags desc-inline">
@@ -527,14 +527,14 @@ function show_fulldesc(hash) {
</py:if>
<py:if test="project.properties['pkgstatus'] in ('official_high', 'official_low', 'non-free', 'experimental')">
<li>
- <a href="https://tracker.debian.org/pkg/${project.pkg}">
+ <a href="https://tracker.debian.org/pkg/${project.properties['name']}">
Maintainer page
</a>
</li>
</py:if>
<py:if test="project.properties['pkgstatus'] in ('official_high', 'official_low', 'non-free', 'experimental')">
<li>
- <a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=${project.pkg}">
+ <a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=${project.properties['name']}">
Bugs
</a>
</li>
@@ -607,17 +607,17 @@ function show_fulldesc(hash) {
<dd>
<ul class="desc-inline">
<li py:if="'screenshot' not in project.properties">
- <a href="http://screenshots.debian.net/uploadfile?packagename=${project.pkg}">
+ <a href="http://screenshots.debian.net/uploadfile?packagename=${project.properties['name']}">
Upload Screenshot
</a>
</li>
<li py:if="'debtags' not in project.properties">
- <a href="https://debtags.debian.org/edit/${project.pkg}">
+ <a href="https://debtags.debian.org/edit/${project.properties['name']}">
Create tags
</a>
</li>
<li py:if="lang != 'en' and lang not in project.desc">
- <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${project.pkg}">
+ <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${project.properties['name']}">
${translatedesc}
</a>
</li>
@@ -626,7 +626,7 @@ function show_fulldesc(hash) {
</py:if>
</dl>
<div style="position:relative;">
- <a style="position:absolute; right:0; bottom:1em; cursor:pointer;" onclick="toggle_visibility('${project.pkg}');"
+ <a style="position:absolute; right:0; bottom:1em; cursor:pointer;" onclick="toggle_visibility('${project.properties['name']}');"
title="Click to close details">Close</a></div>
</td>
</tr>
diff --git a/webtools/templates/tasks.xhtml b/webtools/templates/tasks.xhtml
index d178ec8..7444e5d 100644
--- a/webtools/templates/tasks.xhtml
+++ b/webtools/templates/tasks.xhtml
@@ -36,10 +36,10 @@
</div>
<p><span py:choose="">
<span py:when="lang in tasks[task].metapkg.desc">${render_longdesc(tasks[task].metapkg.desc[lang].get('long', ''))}
- <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.pkg}">${fixtranslation}</a></div>
+ <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.properties['name']}">${fixtranslation}</a></div>
</span>
<span py:otherwise="">${render_longdesc(tasks[task].metapkg.desc['en'].get('long', ''))}
- <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.pkg}">${translatedesc}</a></div>
+ <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.properties['name']}">${translatedesc}</a></div>
</span>
</span></p>
</div>
@@ -76,12 +76,12 @@
<py:for each="pstatus in dependencies[task]">
<h2><a id="${pstatus}-debs" name="${pstatus}-debs"/>${headline[pstatus]}</h2>
<py:for each="project in projects[task][pstatus]">
- <table class="project" summary="${project.pkg}">
+ <table class="project" summary="${project.properties['name']}">
<tbody>
<tr class="deb-${pstatus}">
<td class="project-name">
- <a name="${project.pkg}" id="${project.pkg}"/>
- <div class="pkgname">${project.pkg.capitalize()}
+ <a name="${project.properties['name']}" id="${project.properties['name']}"/>
+ <div class="pkgname">${project.properties['name'].capitalize()}
<span class="wnpp" py:if="'wnpp' in project.properties"> - <a href="http://bugs.debian.org/${project.properties['wnpp']}">wnpp</a></span>
</div>
<div class="pkgdesc" py:choose="">
@@ -97,9 +97,9 @@
</div>
</td>
<td py:if="'component' in project.properties and project.properties['pkgstatus'] != 'new' and project.properties['pkgstatus'] != 'pkgvcs'" class="project-info">
- <span py:if="project.properties['version']" class="tooltip" id="${project.pkg}-versions">
+ <span py:if="project.properties['version']" class="tooltip" id="${project.properties['name']}-versions">
<table class="versionclass">
- <tr><th colspan="3" class="versionclass"><strong>Versions of package ${project.pkg}</strong></th></tr>
+ <tr><th colspan="3" class="versionclass"><strong>Versions of package ${project.properties['name']}</strong></th></tr>
<tr><th class="release">Release</th><th class="version">Version</th><th class="archs">Architectures</th></tr>
<py:for each="version in project.properties['version']">
<tr><td class="release">${version['release']}</td><td class="version">${version['version']}</td><td class="archs">${version['archs']}</td></tr>
@@ -108,27 +108,27 @@
</tr>
</table>
</span>
- <span py:if="'debtags' in project.properties" class="tooltip" id="${project.pkg}-debtags">
+ <span py:if="'debtags' in project.properties" class="tooltip" id="${project.properties['name']}-debtags">
<table class="versionclass">
- <tr><th colspan="2" class="versionclass"><strong>Debtags of package ${project.pkg}:</strong></th></tr>
+ <tr><th colspan="2" class="versionclass"><strong>Debtags of package ${project.properties['name']}:</strong></th></tr>
<py:for each="tag, values in sorted(project.properties['debtags'].items())">
<tr><td class="release">${tag}</td><td class="version">${', '.join(values)}</td></tr>
</py:for>
</table>
</span>
<div py:if="'popcon' in project.properties"
- class="popcon"><a href="http://qa.debian.org/popcon-png.php?packages=${project.pkg}%26show_vote=on%26show_recent=on%26want_legend=on">Popcon</a>:
+ class="popcon"><a href="http://qa.debian.org/popcon-png.php?packages=${project.properties['name']}%26show_vote=on%26show_recent=on%26want_legend=on">Popcon</a>:
${project.properties['popcon']['vote']} users (${project.properties['popcon']['recent']} upd.)<sup><a href="#popconexplanation">*</a></sup></div>
<div py:if="project.properties['version']">
<div py:choose="">
- <div py:when="'outdated' not in project.properties" class="project-info" onmouseover="TagToTip('${project.pkg}-versions', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()">Versions and Archs</div>
- <div py:otherwise="" class="project-infomissing" onmouseover="TagToTip('${project.pkg}-versions', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()">Newer upstream!</div>
+ <div py:when="'outdated' not in project.properties" class="project-info" onmouseover="TagToTip('${project.properties['name']}-versions', FIX, ['${project.properties['name']}', 0, 0])" onmouseout="UnTip()">Versions and Archs</div>
+ <div py:otherwise="" class="project-infomissing" onmouseover="TagToTip('${project.properties['name']}-versions', FIX, ['${project.properties['name']}', 0, 0])" onmouseout="UnTip()">Newer upstream!</div>
</div>
</div>
<div py:choose="">
- <div py:when="'debtags' in project.properties" class="project-info" onmouseover="TagToTip('${project.pkg}-debtags', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()"><a href="https://debtags.debian.org/edit/${project.pkg}">Edit Debtags</a></div>
+ <div py:when="'debtags' in project.properties" class="project-info" onmouseover="TagToTip('${project.properties['name']}-debtags', FIX, ['${project.properties['name']}', 0, 0])" onmouseout="UnTip()"><a href="https://debtags.debian.org/edit/${project.properties['name']}">Edit Debtags</a></div>
<div py:otherwise="">
- <div class="project-infomissing"><a href="https://debtags.debian.org/edit/${project.pkg}">Go tagging</a></div>
+ <div class="project-infomissing"><a href="https://debtags.debian.org/edit/${project.properties['name']}">Go tagging</a></div>
</div>
</div>
</td>
@@ -146,8 +146,8 @@
</div>
<div py:if="lang != 'en' and project.properties['component'] == 'main' and project.properties['pkgstatus'] != 'new' and project.properties['pkgstatus'] != 'pkgvcs'">
<div py:choose="">
- <div class="trans" py:when="lang in project.desc"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${project.pkg}">${fixtranslation}</a></div>
- <div class="trans-missing" py:otherwise=""><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${project.pkg}">${translatedesc}</a></div>
+ <div class="trans" py:when="lang in project.desc"><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${project.properties['name']}">${fixtranslation}</a></div>
+ <div class="trans-missing" py:otherwise=""><a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${project.properties['name']}">${translatedesc}</a></div>
</div>
</div>
<div class="language" py:if="'language' in project.properties and project.properties['component'] != 'main'">Language: ${project.properties['language']}</div>
@@ -166,7 +166,7 @@
</div>
<div class="registration" py:if="'registration' in project.properties">
<span class="registrationlink" >Please register by following <a
- href="${project.properties['registration']}">this link</a></span> if you are using ${project.pkg}.
+ href="${project.properties['registration']}">this link</a></span> if you are using ${project.properties['name']}.
</div>
<div class="published"
py:if="'published' in project.properties">Please cite:
@@ -200,20 +200,20 @@
<td py:if="'component' in project.properties and project.properties['pkgstatus'] != 'new' and project.properties['pkgstatus'] != 'pkgvcs'" class="project-icon">
<div py:choose="">
<div py:when="'screenshot' in project.properties">
- <span class="tooltip" id="${project.pkg}-screenshot">
+ <span class="tooltip" id="${project.properties['name']}-screenshot">
<img src="${project.properties['screenshot']['image']}" />
<table py:if="'screenshots' in project.properties['screenshot']" class="versionclass">
<tr><th colspan="3"
- class="versionclass"><strong>Other screenshots of package ${project.pkg}</strong></th></tr>
+ class="versionclass"><strong>Other screenshots of package ${project.properties['name']}</strong></th></tr>
<tr><th class="version">Version</th><th class="archs">URL</th></tr>
<py:for each="screenshot in project.properties['screenshot']['screenshots']">
<tr><td class="version">${screenshot['version']}</td><td class="archs"><a href="${screenshot['url']}">${screenshot['url']}</a></td></tr>
</py:for>
</table>
</span>
- <a href="http://screenshots.debian.net/package/${project.pkg}"><img class="icon" src="${project.properties['screenshot']['icon']}" width="300" alt="Screenshots of package ${project.pkg}" onmouseover="TagToTip('${project.pkg}-screenshot', FIX, ['${project.pkg}', 80, -100])" onmouseout="UnTip()" /></a>
+ <a href="http://screenshots.debian.net/package/${project.properties['name']}"><img class="icon" src="${project.properties['screenshot']['icon']}" width="300" alt="Screenshots of package ${project.properties['name']}" onmouseover="TagToTip('${project.properties['name']}-screenshot', FIX, ['${project.properties['name']}', 80, -100])" onmouseout="UnTip()" /></a>
</div>
- <div py:otherwise="" class="project-infomissing"><a href="http://screenshots.debian.net/uploadfile?packagename=${project.pkg}">Upload screenshot</a></div>
+ <div py:otherwise="" class="project-infomissing"><a href="http://screenshots.debian.net/uploadfile?packagename=${project.properties['name']}">Upload screenshot</a></div>
</div>
</td>
</tr>
--
Static and dynamic websites for Debian Pure Blends
More information about the Blends-commit
mailing list