[Mailman-Developers] Exporting member info (including options)
mark at msapiro.net
Thu Aug 19 01:13:37 CEST 2010
Aaron Kreider wrote:
>This worked. Now I get a JSON error:
>File "pickle2json.py", line 21, in ?
> open(opts.json_data_path, 'w').write(json.dumps(unpickled_data))
> File "build/bdist.linux-x86_64/egg/simplejson/__init__.py", line 261,
> File "build/bdist.linux-x86_64/egg/simplejson/encoder.py", line 214,
> File "build/bdist.linux-x86_64/egg/simplejson/encoder.py", line 282,
> File "build/bdist.linux-x86_64/egg/simplejson/encoder.py", line 190,
>TypeError: <bounce info for member email at domain.org
> current score: 1.0
> last bounce date: (2007, 1, 8)
> email notices left: 3
> last notice date: (1970, 1, 1)
> confirmation cookie: None
> > is not JSON serializable
The problem is that a member's bounce_info is an instance of the
Mailman.Bouncer._BounceInfo class (this is why your script needs to be
able to find the Mailman.Bouncer module to unpickle a list with
JSON can't represent this class instance directly, just as
MysqlMemberships.py can't store it directly in the MySQL database.
This is why MysqlMemberships.py takes the class instances attributes
score, date, noticesleft, lastnotice and cookie and stores them as
separate fields bi_score, bi_date, bi_noticesleft, bi_lastnotice and
bi_cookie in the MySQL database table.
Your script needs to do a similar thing since it's the attribute values
you need to put in the database anyway.
Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
More information about the Mailman-Developers