]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: allow fetching of subject prefixes
authorDaniel Axtens <dja@axtens.net>
Tue, 21 Feb 2017 05:45:29 +0000 (16:45 +1100)
committerStephen Finucane <stephen@that.guru>
Wed, 1 Mar 2017 22:13:30 +0000 (22:13 +0000)
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>
patchwork/api/patch.py

index 1a7be584d0beff51112a150f437ab20de950b81b..ded491014ea01a5fb882e970200cea0d778c675e 100644 (file)
@@ -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