From 087a531cc861d01dd0836c65172a1bb69c3a851c Mon Sep 17 00:00:00 2001
From: Patrick Cernko <pcernko@mpi-klsb.mpg.de>
Date: Tue, 16 Jan 2024 14:44:18 +0100
Subject: [PATCH] fixed email decoding in json output

---
 mailman-subscribers3.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/mailman-subscribers3.py b/mailman-subscribers3.py
index 79615ef..de6d610 100755
--- a/mailman-subscribers3.py
+++ b/mailman-subscribers3.py
@@ -254,6 +254,7 @@ def main():
     digest = None
     sympa = False
     csv = False
+    jsonoutput = False
     kv = False
     unhide = False
     protocol = 'http'
@@ -367,6 +368,8 @@ or you may need to specify --url_path.
     subscriberlist = list(subscribers.items())
     subscriberlist.sort()
 
+    jsonmembers = {}
+    
     # print the subscribers list
     if csv:
         print('"Full name","email address","mod","hide",\
@@ -386,6 +389,7 @@ or you may need to specify --url_path.
                 print('.', end=' ', file=sys.stderr)
         email = urllib.parse.unquote(email)
         if jsonoutput:
+            jsonmembers[email] = d
             continue
         if csv:
             print('"%s","%s","%s","%s","%s","%s","%s","%s","%s","%s"'\
@@ -466,7 +470,7 @@ visibility %s
             print('%s <%s>' % (d['_realname'], email), file=fp)
 
     if jsonoutput:
-        print(json.dumps(dict(subscriberlist), indent=4), file=fp)
+        print(json.dumps(jsonmembers, indent=4), file=fp)
 
     fp.close()
 
-- 
GitLab