[PATCH v2] REST: allow fetching of subject prefixes

Daniel Axtens dja at axtens.net
Tue Feb 21 16:45:29 AEDT 2017


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 at axtens.net>

---
v2: call them prefixes rather than categories, only expose in
    detail view
---
 patchwork/api/patch.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/patchwork/api/patch.py b/patchwork/api/patch.py
index 1a7be584d0be..ded491014ea0 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
 
 
-- 
2.9.3



More information about the Patchwork mailing list