I see https://www.msapiro.net/scripts/user_options lists subscribed topics. Which is something of interest. But it must be run from the server. I ended up taking my own approach, building on little things I'd written before, to do an assessment of topic subscriptions from a web client machine. Does the following mimic some standard utility somewhere? # # tag-filter # From HTML input, output lines of only text or a single tags. # I.e. it will produce... (e.g. from output of curl -s -b cookiefile https://mailman/mailman/options/test-aharper-subset/aharper--at--dt.uwaterloo.ca ) <html> <head> <link rel="SHORTCUT ICON" href="/icons/mm-icon.png"> <title> aharper at dt.uwaterloo.ca membership configuration for test-aharper-subset </title> </head> <BODY BGCOLOR="#ffffff"> <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="5"> <TR> <TD WIDTH="100%" BGCOLOR="#99CCFF"> <B> <FONT COLOR="#000000" SIZE=+1> test-aharper-subset mailing list membership configuration for aharper at dt.uwaterloo.ca </FONT> [...] <tr> <td colspan="2"> <p> <strong> [...] That can simplify rudimentary parsing. After tag-filter, I can use my "form-filter", which from output such as the above can produce... [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="1"(notchecked) [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="0"(notchecked) [email protected]="1"(CHECKED) [email protected]="1"(notchecked) [email protected]="1"(notchecked) [email protected]="0"(CHECKED) [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="1"(notchecked) [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="0"(notchecked) [email protected]="1"(CHECKED) [email protected]="Newsletter%2C"(notchecked) [email protected]="Test+Topic+2%2C"(notchecked) [email protected]="Any+Topic%2C"(notchecked) [email protected]="This+Topic+Should+Match+Nothing%2C"(notchecked) [email protected]="This+Topic+Should+Match+Everything%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+1%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+2%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+3%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+4%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+5%2C"(notchecked) [email protected]="Farmers+Institute+Newsletters+6%2C"(notchecked) [email protected]="NothingPythonOrg%2C"(notchecked) [email protected]="NothingMine%2C"(notchecked) [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="0"(CHECKED) [email protected]="1"(notchecked) [email protected]="1"(notchecked) [email protected]="Submit My Changes" (Both tag-filter and form-filter may make simplifying assumptions based on what has and has never been seen as mailman HTML, e.g. on what to use as "form name"). After turning a simple pipeline like that into "mailman-get-member-options" and writing something to do: get-member-list $listname | \ xargs -n 1 mailman-get-member-options $listname I added that to what I run in my standard list dumps. Allowing me to assess... (relevant output is distributed into */members.optioned) cs-xh-admin% grep topic= */*optioned | sed 's/^[^:]*:.*[.]//' | sort | uniq -c | sort -nr 1063 rcvtopic="1"(notchecked) 1063 rcvtopic="0"(CHECKED) 104 usertopic="Topic+Which+Gets+No+Posts"(notchecked) 102 usertopic="Farmers+Institute+Newsletters"(notchecked) 4 usertopic="This+Topic+Should+Match+Nothing%2C"(notchecked) 4 usertopic="This+Topic+Should+Match+Everything%2C"(notchecked) 4 usertopic="Test+Topic+2%2C"(notchecked) 4 usertopic="SCS+Newsletter%2C"(notchecked) 4 usertopic="NothingPythonOrg%2C"(notchecked) 4 usertopic="NothingMine%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+6%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+5%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+4%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+3%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+2%2C"(notchecked) 4 usertopic="Farmers+Institute+Newsletters+1%2C"(notchecked) 4 usertopic="Any+Topic%2C"(notchecked) 2 usertopic="Farmers+Institute+Newsletters"(CHECKED) 1 rcvtopic="1"(CHECKED) 1 rcvtopic="0"(notchecked) cs-xh-admin% (Not a lot of interest is selecting based on topic (yet)). (The only use so far is my own testing).
Adrian. On 12/03/2015 1:57 PM -0800 Mark Sapiro wrote: > > On 12/03/2015 01:09 PM, Adrian Pepper wrote: > > > > I wrote something (really ugly[*], incrementally developed over a period [...] > > > You might be interested in looking at > <https://www.msapiro.net/scripts/mailman-subscribers.py> which is > another web admin membership screenscraper which when run with the --csv > option produces output like > > > > "Full name","email address","mod","hide","nomail","ack","not > > metoo","nodupes","digest","plain" > > "Mark > > Sapiro","[email protected]","off","off","off","off","off","on","off","off" > > "Mark","another@address","off","off","[A]","off","off","on","off","off" > > "Mark","yet@another","off","off","[A]","off","on","on","off","off" > > > It uses Python's cookielib to deal with cookies and only requires the > hostname, listname and admin password for input. > > -- > Mark Sapiro > ------------------------------------------------------ Mailman-Users mailing list [email protected] https://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: https://mail.python.org/mailman/options/mailman-users/archive%40jab.org
