=== modified file 'src/mailmanclient/_client.py' --- src/mailmanclient/_client.py 2013-03-22 18:28:16 +0000 +++ src/mailmanclient/_client.py 2013-04-24 08:56:23 +0000 @@ -812,9 +812,10 @@ def save(self): data = {} for key in self._preferences: - if self._preferences[key] is not None: + if self._preferences[key] is not None \ + and key not in ("http_etag", "self_link"): data[key] = self._preferences[key] - response, content = self._connection.call(self._url, data, 'PUT') + response, content = self._connection.call(self._url, data, 'PATCH') LIST_READ_ONLY_ATTRS = ('bounces_address', 'created_at', 'digest_last_sent_at', === modified file 'src/mailmanclient/docs/using.txt' --- src/mailmanclient/docs/using.txt 2013-03-22 18:28:16 +0000 +++ src/mailmanclient/docs/using.txt 2013-04-24 08:49:42 +0000 @@ -522,6 +522,12 @@ Preferences can be set, but you have to call ``save`` to make your changes permanent. + >>> prefs = test_two.get_member('anna@example.com').preferences + >>> prefs['delivery_status'] = 'by_user' + >>> prefs.save() + >>> prefs = test_two.get_member('anna@example.com').preferences + >>> print prefs['delivery_status'] + by_user Owners and Moderators =====================