def fetch_all(self, deleted=False): """ Lazy-loads the set of :class:`Member` objects :param deleted: Include deleted members :type deleted: :class:`bool` :rtype: :class:`dict` of :class:`Member` objects Usage:: >>> from emma.model.account import Account >>> acct = Account(1234, "08192a3b4c5d6e7f", "f7e6d5c4b3a29180") >>> grp = acct.groups[1024] >>> grp.members.fetch_all() {200: <Member>, 201: <Member>, ...} """ if not 'member_group_id' in self.group: raise ex.NoGroupIdError() member = emma.model.member path = '/groups/%s/members' % self.group['member_group_id'] params = {'deleted': True} if deleted else {} if not self._dict: self._dict = dict( (x['member_id'], member.Member(self.group.account, x)) for x in self.group.account.adapter.paginated_get(path, params)) return self._dict
def fetch_all(self): """ Lazy-loads the full set of :class:`Member` objects :rtype: :class:`dict` of :class:`Member` objects Usage:: >>> from emma.model.account import Account >>> acct = Account(1234, "08192a3b4c5d6e7f", "f7e6d5c4b3a29180") >>> srch = acct.searches[1024] >>> srch.members.fetch_all() {200: <Member>, 201: <Member>, ...} """ if not 'search_id' in self.search: raise ex.NoSearchIdError() path = '/searches/%s/members' % self.search['search_id'] if not self._dict: member = emma.model.member self._dict = dict( (x['member_id'], member.Member(self.search.account, x)) for x in self.search.account.adapter.paginated_get(path)) return self._dict
def fetch_all(self): """ Lazy-loads the full set of :class:`Member` objects :rtype: :class:`dict` of :class:`Member` objects Usage:: >>> from emma.model.account import Account >>> acct = Account(1234, "08192a3b4c5d6e7f", "f7e6d5c4b3a29180") >>> mlng = acct.mailings[123] >>> mlng.members.fetch_all() {123: <Member>, 321: <Member>, ...} """ if 'mailing_id' not in self.mailing: raise ex.NoMailingIdError() member = emma.model.member path = '/mailings/%s/members' % self.mailing['mailing_id'] if not self._dict: self._dict = dict( (x['member_id'], member.Member(self.mailing.account, x)) for x in self.mailing.account.adapter.paginated_get(path)) return self._dict