@@ -143,17 +143,25 @@ def is_member(self, username):
143
143
return self ._boolean (self ._get (url ), 204 , 404 )
144
144
145
145
@requires_auth
146
- def members (self , number = - 1 , etag = None ):
146
+ def members (self , role = None , number = - 1 , etag = None ):
147
147
r"""Iterate over the members of this team.
148
148
149
+ :param str role: (optional), filter members returned by their role
150
+ in the team. Can be one of: ``"member"``, ``"maintainer"``,
151
+ ``"all"``. Default: ``"all"``.
149
152
:param int number: (optional), number of users to iterate over.
150
153
Default: -1 iterates over all values
151
154
:param str etag: (optional), ETag from a previous request to the same
152
155
endpoint
153
156
:returns: generator of :class:`User <github3.users.User>`\ s
154
157
"""
158
+ headers = {}
159
+ params = {}
160
+ if role in set (["member" , "maintainer" , "all" ]):
161
+ params ['role' ] = role
162
+ headers ['Accept' ] = 'application/vnd.github.ironman-preview+json'
155
163
url = self ._build_url ('members' , base_url = self ._api )
156
- return self ._iter (int (number ), url , User , etag = etag )
164
+ return self ._iter (int (number ), url , User , etag = etag , headers = headers )
157
165
158
166
@requires_auth
159
167
def repositories (self , number = - 1 , etag = None ):
@@ -444,24 +452,32 @@ def events(self, number=-1, etag=None):
444
452
url = self ._build_url ('events' , base_url = self ._api )
445
453
return self ._iter (int (number ), url , Event , etag = etag )
446
454
447
- def members (self , filter = None , number = - 1 , etag = None ):
455
+ def members (self , filter = None , role = None , number = - 1 , etag = None ):
448
456
r"""Iterate over members of this organization.
449
457
450
458
:param str filter: (optional), filter members returned by this method.
451
459
Can be one of: ``"2fa_disabled"``, ``"all",``. Default: ``"all"``.
452
460
Filtering by ``"2fa_disabled"`` is only available for organization
453
461
owners with private repositories.
462
+ :param str role: (optional), filter members returned by their role.
463
+ Can be one of: ``"all"``, ``"admin"``, ``"member"``. Default:
464
+ ``"all"``.
454
465
:param int number: (optional), number of members to return. Default:
455
466
-1 will return all available.
456
467
:param str etag: (optional), ETag from a previous request to the same
457
468
endpoint
458
469
:returns: generator of :class:`User <github3.users.User>`\ s
459
470
"""
471
+ headers = {}
460
472
params = {}
461
473
if filter in set (["2fa_disabled" , "all" ]):
462
474
params ['filter' ] = filter
475
+ if role in set (["all" , "admin" , "member" ]):
476
+ params ['role' ] = role
477
+ headers ['Accept' ] = 'application/vnd.github.ironman-preview+json'
463
478
url = self ._build_url ('members' , base_url = self ._api )
464
- return self ._iter (int (number ), url , User , params = params , etag = etag )
479
+ return self ._iter (int (number ), url , User , params = params , etag = etag ,
480
+ headers = headers )
465
481
466
482
def public_members (self , number = - 1 , etag = None ):
467
483
r"""Iterate over public members of this organization.
0 commit comments