aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Axtens <dja@axtens.net>2017-02-21 16:45:29 +1100
committerStephen Finucane <stephen@that.guru>2017-03-01 22:13:30 +0000
commit66a88a4669bc43447b9bae08606e262cf739c35b (patch)
tree0654ff40ba31e8297c03a1ce23e831b7185b4032
parent7b07b71e9551a303f4837aaa6e5bbefa3d56d139 (diff)
downloadpatchwork-66a88a4669bc43447b9bae08606e262cf739c35b.tar
patchwork-66a88a4669bc43447b9bae08606e262cf739c35b.tar.gz
REST: allow fetching of subject prefixes
Some mailing lists accept patches for multiple projects, and use a subject prefix to differentiate the projects. Therefore, for snowpatch, it's useful to be able to fetch the subject prefixes. Export subject prefixes in the REST API. Signed-off-by: Daniel Axtens <dja@axtens.net> Tested-by: Russell Currey <ruscur@russell.cc> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Reviewed-by: Stephen Finucane <stephen@that.guru>
-rw-r--r--patchwork/api/patch.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/patchwork/api/patch.py b/patchwork/api/patch.py
index 1a7be58..ded4910 100644
--- a/patchwork/api/patch.py
+++ b/patchwork/api/patch.py
@@ -31,6 +31,7 @@ from patchwork.api.base import PatchworkPermission
from patchwork.api.filters import PatchFilter
from patchwork.models import Patch
from patchwork.models import State
+from patchwork.parser import clean_subject
def format_state_name(state):
@@ -116,17 +117,21 @@ class PatchListSerializer(HyperlinkedModelSerializer):
class PatchDetailSerializer(PatchListSerializer):
headers = SerializerMethodField()
+ prefixes = SerializerMethodField()
def get_headers(self, patch):
if patch.headers:
return email.parser.Parser().parsestr(patch.headers, True)
+ def get_prefixes(self, instance):
+ return clean_subject(instance.name)[1]
+
class Meta:
model = Patch
fields = PatchListSerializer.Meta.fields + (
- 'headers', 'content', 'diff')
+ 'headers', 'content', 'diff', 'prefixes')
read_only_fields = PatchListSerializer.Meta.read_only_fields + (
- 'headers', 'content', 'diff')
+ 'headers', 'content', 'diff', 'prefixes')
extra_kwargs = PatchListSerializer.Meta.extra_kwargs