diff options
Diffstat (limited to 'listsize')
-rwxr-xr-x | listsize | 31 |
1 files changed, 26 insertions, 5 deletions
@@ -1,15 +1,36 @@ #!/bin/sh # # Mine list sizes from MailMan web interfaces +# +# * Must set environment variable FETCHMAIL_LIST_PASS to list admin password + +project="fetchmail" +admin="http://lists.berlios.de/mailman/admin" +adminpw=$FETCHMAIL_LIST_PASS -admin="http://lists.ccil.org/mailman/admin" list="$1" -tmp="/usr/tmp/listsize.$$" +if [ ! "$list" ]; then + echo "Usage: $0 list" 1>&2 + exit 1 +fi +case "$list" in +$project-*) + # already gave us the full name, e.g. fetchmail-announce + ;; +*) + # only gave us the last part of the name, e.g. announce + list="$project-$list" + ;; +esac +hexpw=`echo "$adminpw" | od -t x1 -w64 | sed -e 's/^[0-9]*//' -e '/^ *$/d' -e 's/ /%/g'` +umask 077 +tmp="/tmp/$project-$list.listsize.$$" # First get the login cookie... -curl -s -D $tmp $admin/fetchmail-${list}?adminpw=mypaswrd >/dev/null +curl -s -D "$tmp" "$admin/${list}?adminpw=$hexpw" >/dev/null # Second gets the actual stat -curl -s -b $tmp $admin/fetchmail-${list}/members \ - | sed -n '/.*>\([0-9][0-9]*\) members total.*/s//\1/p' +curl -s -b "$tmp" "$admin/${list}/members" \ + | sed -n '/.*>(\([0-9][0-9]*\) members total.*/s//\1/p' +rm -f "$tmp" # end |