From: Daniel Axtens Date: Tue, 21 Feb 2017 05:45:29 +0000 (+1100) Subject: REST: allow fetching of subject prefixes X-Git-Tag: v2.0.0-rc1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66a88a4669bc43447b9bae08606e262cf739c35b;p=thirdparty%2Fpatchwork.git 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 Tested-by: Russell Currey Reviewed-by: Andrew Donnellan Reviewed-by: Stephen Finucane --- diff --git a/patchwork/api/patch.py b/patchwork/api/patch.py index 1a7be584..ded49101 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