From 387f416ad6a97f49982203e31534969c3d631a3d Mon Sep 17 00:00:00 2001
From: Dmytro Makovey <dmakovey@stanford.edu>
Date: Fri, 7 Sep 2018 15:16:27 -0700
Subject: [PATCH] add formatting/filtering to output for held messages

---
 manage_list.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/manage_list.py b/manage_list.py
index 6988c4f..0d659fa 100644
--- a/manage_list.py
+++ b/manage_list.py
@@ -27,9 +27,15 @@ def held_list(args):
     client, ml = get_ml(args)
     held_data = {}
     for held in ml.held:
-        held_data[held.request_id] = held.rest_data
-        if not args.detailed:
-            del held_data[held.request_id]['msg']
+        if args.fields:
+            data_hash = {}
+            for f in args.fields:
+                data_hash[f] = held.rest_data[f]
+            held_data[held.request_id] = data_hash
+        else:
+            held_data[held.request_id] = held.rest_data
+            if not args.detailed:
+                del held_data[held.request_id]['msg']
 
     print json.dumps(held_data, indent=2)
 
@@ -108,6 +114,8 @@ if __name__ == '__main__':
     held_list_parser.add_argument('--detailed', action='store_true',
                                   default=False
                                   )
+    held_list_parser.add_argument('--field', dest='fields',
+                                  action='append', default=None)
 
     held_approve_parser = held_subparsers.add_parser('approve')
     held_approve_parser.set_defaults(func=held_approve)
-- 
GitLab