diff options
author | Daniel Axtens <dja@axtens.net> | 2017-02-21 16:45:29 +1100 |
---|---|---|
committer | Stephen Finucane <stephen@that.guru> | 2017-03-01 22:13:30 +0000 |
commit | 66a88a4669bc43447b9bae08606e262cf739c35b (patch) | |
tree | 0654ff40ba31e8297c03a1ce23e831b7185b4032 | |
parent | 7b07b71e9551a303f4837aaa6e5bbefa3d56d139 (diff) | |
download | patchwork-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.py | 9 |
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 |