Skip to content

Commit 4d7b848

Browse files
nejchJohnVillalovos
authored andcommitted
refactor(objects): remove deprecated members.all() method
BREAKING CHANGE: remove deprecated members.all() method in favor of members_all.list()
1 parent c4f5ec6 commit 4d7b848

File tree

5 files changed

+2
-56
lines changed

5 files changed

+2
-56
lines changed

docs/gl_objects/groups.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,6 @@ List the group members recursively (including inherited members through
272272
ancestor groups)::
273273

274274
members = group.members_all.list(all=True)
275-
# or
276-
members = group.members.all(all=True) # Deprecated
277275

278276
Get only direct group member::
279277

docs/gl_objects/projects.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,6 @@ List the project members recursively (including inherited members through
519519
ancestor groups)::
520520

521521
members = project.members_all.list(all=True)
522-
# or
523-
members = project.members.all(all=True) # Deprecated
524522

525523
Search project members matching a query string::
526524

gitlab/mixins.py

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
# You should have received a copy of the GNU Lesser General Public License
1616
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1717

18-
import warnings
1918
from types import ModuleType
2019
from typing import (
2120
Any,
@@ -927,50 +926,3 @@ def render(self, link_url: str, image_url: str, **kwargs: Any) -> Dict[str, Any]
927926
if TYPE_CHECKING:
928927
assert not isinstance(result, requests.Response)
929928
return result
930-
931-
932-
class MemberAllMixin(_RestManagerBase):
933-
"""This mixin is deprecated."""
934-
935-
_computed_path: Optional[str]
936-
_from_parent_attrs: Dict[str, Any]
937-
_obj_cls: Optional[Type[base.RESTObject]]
938-
_parent: Optional[base.RESTObject]
939-
_parent_attrs: Dict[str, Any]
940-
_path: Optional[str]
941-
gitlab: gitlab.Gitlab
942-
943-
@cli.register_custom_action(("GroupMemberManager", "ProjectMemberManager"))
944-
@exc.on_http_error(exc.GitlabListError)
945-
def all(self, **kwargs: Any) -> List[base.RESTObject]:
946-
"""List all the members, included inherited ones.
947-
948-
This Method is deprecated.
949-
950-
Args:
951-
all (bool): If True, return all the items, without pagination
952-
per_page (int): Number of items to retrieve per request
953-
page (int): ID of the page to return (starts with page 1)
954-
as_list (bool): If set to False and no pagination option is
955-
defined, return a generator instead of a list
956-
**kwargs: Extra options to send to the server (e.g. sudo)
957-
958-
Raises:
959-
GitlabAuthenticationError: If authentication is not correct
960-
GitlabListError: If the list could not be retrieved
961-
962-
Returns:
963-
RESTObjectList: The list of members
964-
"""
965-
966-
warnings.warn(
967-
"The all() method for this object is deprecated "
968-
"and will be removed in a future version. Use .members_all.list(all=True), instead.",
969-
DeprecationWarning,
970-
)
971-
path = "%s/all" % self.path
972-
973-
if TYPE_CHECKING:
974-
assert self._obj_cls is not None
975-
obj = self.gitlab.http_list(path, **kwargs)
976-
return [self._obj_cls(self, item) for item in obj]

gitlab/v4/objects/members.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
CRUDMixin,
55
DeleteMixin,
66
ListMixin,
7-
MemberAllMixin,
87
ObjectDeleteMixin,
98
RetrieveMixin,
109
SaveMixin,
@@ -28,7 +27,7 @@ class GroupMember(SaveMixin, ObjectDeleteMixin, RESTObject):
2827
_short_print_attr = "username"
2928

3029

31-
class GroupMemberManager(MemberAllMixin, CRUDMixin, RESTManager):
30+
class GroupMemberManager(CRUDMixin, RESTManager):
3231
_path = "/groups/%(group_id)s/members"
3332
_obj_cls = GroupMember
3433
_from_parent_attrs = {"group_id": "id"}
@@ -74,7 +73,7 @@ class ProjectMember(SaveMixin, ObjectDeleteMixin, RESTObject):
7473
_short_print_attr = "username"
7574

7675

77-
class ProjectMemberManager(MemberAllMixin, CRUDMixin, RESTManager):
76+
class ProjectMemberManager(CRUDMixin, RESTManager):
7877
_path = "/projects/%(project_id)s/members"
7978
_obj_cls = ProjectMember
8079
_from_parent_attrs = {"project_id": "id"}

tests/functional/api/test_groups.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ def test_groups(gl):
8989

9090
group1.members.delete(user.id)
9191
assert len(group1.members.list()) == 2
92-
assert len(group1.members.all()) # Deprecated
9392
assert len(group1.members_all.list())
9493
member = group1.members.get(user2.id)
9594
member.access_level = gitlab.const.OWNER_ACCESS

0 commit comments

Comments
 (0)