Verified Commit c943320a authored by Baptiste Beauplat's avatar Baptiste Beauplat
Browse files

Use description from d/control in RFS template

parent 02a76c87
...@@ -103,6 +103,18 @@ class SponsorController(BaseController): ...@@ -103,6 +103,18 @@ class SponsorController(BaseController):
return False return False
return True return True
def _get_package_description(self, package_version):
control = meta.session.query(PackageInfo) \
.filter_by(package_version_id=package_version.id) \
.filter_by(from_plugin='controlfields') \
.first()
if control:
info = json.loads(control.data)
if info:
return info.get('Short-Description')
def _get_package_rfs_info(self, package_version): def _get_package_rfs_info(self, package_version):
info = None info = None
...@@ -290,6 +302,7 @@ class SponsorController(BaseController): ...@@ -290,6 +302,7 @@ class SponsorController(BaseController):
c.rfstemplate = None c.rfstemplate = None
c.category = None c.category = None
c.severity = None c.severity = None
c.description = None
if packagename: if packagename:
package = meta.session.query(Package) \ package = meta.session.query(Package) \
...@@ -309,6 +322,7 @@ class SponsorController(BaseController): ...@@ -309,6 +322,7 @@ class SponsorController(BaseController):
c.rfstemplate = self._get_package_rfs_info(latest) c.rfstemplate = self._get_package_rfs_info(latest)
(c.category, c.severity) = \ (c.category, c.severity) = \
self._get_package_extra_info(latest) self._get_package_extra_info(latest)
c.description = self._get_package_description(latest)
# This is a workaround for Thunderbird and some other clients # This is a workaround for Thunderbird and some other clients
# not handling properly '+' in the mailto body parameter. # not handling properly '+' in the mailto body parameter.
......
...@@ -90,13 +90,18 @@ class ControlFieldsPlugin(BasePlugin): ...@@ -90,13 +90,18 @@ class ControlFieldsPlugin(BasePlugin):
descriptions = [] descriptions = []
for package in deb822.Dsc.iter_paragraphs( for package in deb822.Dsc.iter_paragraphs(
file(join('extracted', 'debian', 'control'))): file(join('extracted', 'debian', 'control'))):
if ('Description' in package and 'Package' in package and if all(package.get(i) for i in ('Package', 'Description')):
package['Package'] and package['Description']): if package['Package'] == control.get('Source'):
data['Short-Description'] = \
package['Description'].split('\n')[0]
descriptions.append('{} - {}'.format(package['Package'], descriptions.append('{} - {}'.format(package['Package'],
package['Description'].split('\n')[0])) package['Description'].split('\n')[0]))
data['Description'] = '\n'.join(descriptions) data['Description'] = '\n'.join(descriptions)
if 'Short-Description' not in data and descriptions:
data['Short-Description'] = descriptions[0].split(' - ')[1]
self.failed(outcome, data, severity) self.failed(outcome, data, severity)
......
...@@ -40,9 +40,9 @@ list. You can browser other packages and give other people feedback while you ar ...@@ -40,9 +40,9 @@ list. You can browser other packages and give other people feedback while you ar
<p> <p>
%if c.package: %if c.package:
%if c.category: %if c.category:
<a href="mailto:submit@bugs.debian.org?subject=RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } ${ c.category } -- ${ c.package.short_description() }&body=${ c.mailbody }"> <a href="mailto:submit@bugs.debian.org?subject=RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } ${ c.category } -- ${ c.description }&body=${ c.mailbody }">
%else: %else:
<a href="mailto:submit@bugs.debian.org?subject=RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } -- ${ c.package.short_description() }&body=${ c.mailbody }"> <a href="mailto:submit@bugs.debian.org?subject=RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } -- ${ c.description }&body=${ c.mailbody }">
%endif %endif
%else: %else:
<a href="mailto:submit@bugs.debian.org?subject=RFS: hello/3.1-4 [put in ITP, ITA, RC, NMU if applicable] -- friendly greeter&body=${ c.mailbody }"> <a href="mailto:submit@bugs.debian.org?subject=RFS: hello/3.1-4 [put in ITP, ITA, RC, NMU if applicable] -- friendly greeter&body=${ c.mailbody }">
...@@ -63,9 +63,9 @@ From: J. Maintainer &lt;j@example.com&gt; ...@@ -63,9 +63,9 @@ From: J. Maintainer &lt;j@example.com&gt;
To: submit@bugs.debian.org To: submit@bugs.debian.org
%if c.package: %if c.package:
%if c.category: %if c.category:
Subject: RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } ${ c.category } -- ${ c.package.short_description() } Subject: RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } ${ c.category } -- ${ c.description }
%else: %else:
Subject: RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } -- ${ c.package.short_description() } Subject: RFS: ${ c.package.name }/${ c.package.package_versions[-1].version } -- ${ c.description }
%endif %endif
%else: %else:
Subject: RFS: hello/3.1-4 [put in ITP, ITA, RC, NMU if applicable] -- friendly greeter Subject: RFS: hello/3.1-4 [put in ITP, ITA, RC, NMU if applicable] -- friendly greeter
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment