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
« 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######################################################################
8from dataclasses import dataclass, field
10from P4OO._SpecObj import _P4OOSpecObj
11from P4OO._Set import _P4OOSet
13@dataclass(unsafe_hash=True)
14class P4OOGroup(_P4OOSpecObj):
15 """
16 Perforce Group Spec Object
18 id Required: Yes
20 Forcible: Yes
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
45 See Also:
46 Perforce Helix Core Command Reference:
47 https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_group.html
48 """
50 # Subclasses must define SPECOBJ_TYPE
51 _SPECOBJ_TYPE = 'group'
53@dataclass
54class P4OOGroupSet(_P4OOSet):
55 """ `P4OOSet` of `P4OOGroup` objects """
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
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
73 Returns:
74 (P4OOGroupSet): `P4OOSet` of `P4OOGroup` objects matching query
75 parameters
77 See Also:
78 Perforce Helix Core Command Reference:
79 https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_groups.html
80 """
82 return self._query(setObjType='groups', group=group, member=member,
83 indirect=indirect, owner=owner,
84 maxresults=maxresults, **kwargs)