From 396ccb0c89272f3f77dd400fd7ba787da95cf653 Mon Sep 17 00:00:00 2001 From: Onilton Maciel Date: Fri, 20 Jun 2014 15:10:45 -0300 Subject: [PATCH] Add members methods to Board class --- trello/__init__.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/trello/__init__.py b/trello/__init__.py index dc52bf73..8ded3e55 100644 --- a/trello/__init__.py +++ b/trello/__init__.py @@ -370,6 +370,56 @@ def get_cards(self, filters=None): return cards + def all_members(self): + """Returns all members on this board""" + filters = { + 'filter': 'all', + 'fields': 'all' + } + return self.get_members(filters) + + def normal_members(self): + """Returns all normal members on this board""" + filters = { + 'filter': 'normal', + 'fields': 'all' + } + return self.get_members(filters) + + def admin_members(self): + """Returns all admin members on this board""" + filters = { + 'filter': 'admins', + 'fields': 'all' + } + return self.get_members(filters) + + def owner_members(self): + """Returns all owner members on this board""" + filters = { + 'filter': 'owners', + 'fields': 'all' + } + return self.get_members(filters) + + def get_members(self, filters=None): + json_obj = self.client.fetch_json( + '/boards/' + self.id + '/members', + query_params=filters) + members = list() + for obj in json_obj: + m = Member(self.client, obj['id']) + m.status = obj['status'].encode('utf-8') + m.id = obj.get('id', '') + m.bio = obj.get('bio', '') + m.url = obj.get('url', '') + m.username = obj['username'].encode('utf-8') + m.full_name = obj['fullName'].encode('utf-8') + m.initials = obj['initials'].encode('utf-8') + members.append(m) + + return members + def fetch_actions(self, action_filter): json_obj = self.client.fetch_json( '/boards/' + self.id + '/actions',