Coverage for src/P4OO/Group.py: 0%

10 statements  

« prev     ^ index     » next       coverage.py v7.4.1, created at 2024-09-07 17:17 +0000

1###################################################################### 

2# Copyright (c)2012, 2015, 2024 David L. Armstrong. 

3# 

4# P4OO.Group.py 

5# 

6###################################################################### 

7 

8from dataclasses import dataclass, field 

9 

10from P4OO._SpecObj import _P4OOSpecObj 

11from P4OO._Set import _P4OOSet 

12 

13@dataclass(unsafe_hash=True) 

14class P4OOGroup(_P4OOSpecObj): 

15 """ 

16 Perforce Group Spec Object 

17 

18 id Required: Yes 

19 

20 Forcible: Yes 

21 

22 Attributes: 

23 group (str): Name of the group 

24 description (str): Description field 

25 owners (P4OOUserSet | P4OOUser | str): Owners of the group 

26 users (P4OOUserSet | P4OOUser | str): Members of the group 

27 subgroups (P4OOGroupSet | P4OOGroup | str): Subgroup Members of 

28 the group 

29 sessiontimeout (int): Maximum duration a session ticket will be 

30 valid for members of this group 

31 passwordtimeout (int): Maximum duration a user password will be 

32 valid for members of this group 

33 maxresults (int): Maximum maxresults value for all queries by 

34 members of this group 

35 maxscanrows (int): Maximum rows that can be queried by members 

36 of this group 

37 maxlocktime (int): Maximum time (ms) any operation can lock any 

38 database by members of this group 

39 maxopenfiles (int): Maximum number of files any single command can 

40 open by members of this group 

41 maxmemory (int): Maximum memory (MB) any single command can use 

42 by members of this group 

43 

44 

45 See Also: 

46 Perforce Helix Core Command Reference: 

47 https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_group.html 

48 """ 

49 

50 # Subclasses must define SPECOBJ_TYPE 

51 _SPECOBJ_TYPE = 'group' 

52 

53@dataclass 

54class P4OOGroupSet(_P4OOSet): 

55 """ `P4OOSet` of `P4OOGroup` objects """ 

56 

57 def query(self, group: str=None, member: str=None, owner: str=None, 

58 indirect: str=None, maxresults: int=None, **kwargs): 

59 """ 

60 Executes `p4 groups` query 

61 

62 Args: 

63 group (P4OOGroup | str, optional): List groups that `group` 

64 is a member of 

65 member (P4OOUser | str, optional): List groups that `member` 

66 is a member of 

67 owner (P4OOUser | str, optional): List groups that `owner` 

68 is an owner of 

69 indirect (P4OOUser | P4OOGroup | str, optional): List 

70 indirect/transitive memberships as well as direct 

71 maxresults (int, optional): Return only the first [max] results 

72 

73 Returns: 

74 (P4OOGroupSet): `P4OOSet` of `P4OOGroup` objects matching query 

75 parameters 

76 

77 See Also: 

78 Perforce Helix Core Command Reference: 

79 https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_groups.html 

80 """ 

81 

82 return self._query(setObjType='groups', group=group, member=member, 

83 indirect=indirect, owner=owner, 

84 maxresults=maxresults, **kwargs)