Added memberlist.py, a tool to JSON dump the member list

It has simplejson as a requirement. Python >2.6 ships it by default
IIRC. There is a version of simplejson compatible with Python >2.4.

You also need to have MySQL set up via ~/.my.cnf as the file referenced
in the imports states.
This commit is contained in:
Tobias Mueller (ideabox) 2013-02-06 16:48:27 +01:00
parent 85ede4c945
commit 4accb41992

40
bin/memberlist.py Normal file
View file

@ -0,0 +1,40 @@
#!/usr/bin/env python
'''Prints the current member list as JSON'''
try:
import json
except ImportError:
import simplejson as json
from get_renewees import execute_query, Member
query = ("SET NAMES 'utf8'; "
"SELECT CONCAT(firstname, ';', lastname, ';', email, ';', "
" last_renewed_on) "
" FROM foundationmembers"
" WHERE DATE_SUB(CURDATE(), INTERVAL 2 YEAR) <= last_renewed_on"
" ORDER BY lastname, firstname")
def get_current_electorate():
infile = execute_query(query)
memberlist = [Member.from_csv(line.strip()) for line in infile]
return memberlist
def get_json_memberlist():
members = get_current_electorate()
objects = [
{'firstname': o.firstname,
'lastname': o.lastname,
'email': o.email,
'last_renewed_on': o.token_or_last_renewed_on,
}
for o in members]
j = json.dumps(objects, indent=4)
return j
if __name__ == '__main__':
print get_json_memberlist()