------------------------------------------------------------
revno: 43
committer: Florian Fuchs <[email protected]>
branch nick: mailman.client
timestamp: Thu 2013-03-21 15:11:33 -0700
message:
  fixed preferences
modified:
  src/mailmanclient/_client.py


--
lp:mailman.client
https://code.launchpad.net/~mailman-coders/mailman.client/trunk

Your team Mailman Coders is subscribed to branch lp:mailman.client.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman.client/trunk/+edit-subscription
=== modified file 'src/mailmanclient/_client.py'
--- src/mailmanclient/_client.py	2013-03-21 21:17:54 +0000
+++ src/mailmanclient/_client.py	2013-03-21 22:11:33 +0000
@@ -543,6 +543,7 @@
         self._connection = connection
         self._url = url
         self._info = None
+        self._preferences = None
 
     def __repr__(self):
         return '<Member "{0}" on "{1}">'.format(
@@ -559,11 +560,6 @@
         return self._info['list_id']
 
     @property
-    def role(self):
-        self._get_info()
-        return self._info['role']
-
-    @property
     def address(self):
         self._get_info()
         return self._info['address']
@@ -583,6 +579,13 @@
         self._get_info()
         return _User(self._connection, self._info['user'])
 
+    @property
+    def preferences(self):
+        if self._preferences is None:
+            path = '{0}/preferences'.format(self.self_link)
+            self._preferences = _Preferences(self._connection, path)
+        return self._preferences
+
     def unsubscribe(self):
         """Unsubscribe the member from a mailing list.
 
@@ -762,6 +765,7 @@
         self._connection = connection
         self._path = path
         self._preferences = None
+        self.delivery_mode = None
         self._get_preferences()
 
     def _get_preferences(self):
@@ -769,9 +773,12 @@
             response, content = self._connection.call(self._path)
             self._preferences = content
 
+    def __getitem__(self, key):
+        return self._preferences[key]
+
     def __iter__(self):
-        for preference in self._preferences:
-            yield _Preferences(self._connection, preference)
+        for key in self._preferences.keys():
+            yield self._preferences[key]
 
 
 LIST_READ_ONLY_ATTRS = ('bounces_address', 'created_at', 'digest_last_sent_at',

_______________________________________________
Mailman-coders mailing list
[email protected]
http://mail.python.org/mailman/listinfo/mailman-coders

Reply via email to