gam7 7.10.5__py3-none-any.whl → 7.10.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- gam/__init__.py +34 -5
- gam/gamlib/glgapi.py +1 -0
- gam/gamlib/glskus.py +2 -0
- {gam7-7.10.5.dist-info → gam7-7.10.7.dist-info}/METADATA +1 -1
- {gam7-7.10.5.dist-info → gam7-7.10.7.dist-info}/RECORD +8 -8
- {gam7-7.10.5.dist-info → gam7-7.10.7.dist-info}/WHEEL +0 -0
- {gam7-7.10.5.dist-info → gam7-7.10.7.dist-info}/entry_points.txt +0 -0
- {gam7-7.10.5.dist-info → gam7-7.10.7.dist-info}/licenses/LICENSE +0 -0
gam/__init__.py
CHANGED
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.10.
|
|
28
|
+
__version__ = '7.10.07'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -8864,6 +8864,7 @@ class CSVPrintFile():
|
|
|
8864
8864
|
GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
|
|
8865
8865
|
GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
|
|
8866
8866
|
GAPI.fileOrganizerOnNonTeamDriveNotSupported,
|
|
8867
|
+
GAPI.cannotModifyInheritedPermission,
|
|
8867
8868
|
GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
|
|
8868
8869
|
GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction) as e:
|
|
8869
8870
|
entityActionFailedWarning([Ent.USER, user, Ent.SPREADSHEET, title,
|
|
@@ -29508,6 +29509,7 @@ def getCIDeviceEntity():
|
|
|
29508
29509
|
return ([], ci, customer, False)
|
|
29509
29510
|
|
|
29510
29511
|
DEVICE_USERNAME_PATTERN = re.compile(r'^(devices/.+)/(deviceUsers/.+)$')
|
|
29512
|
+
DEVICE_USERNAME_CLIENT_STATE_PATTERN = re.compile(r'^(devices/.+/deviceUsers/.+)/clientStates/(.+)$')
|
|
29511
29513
|
DEVICE_USERNAME_FORMAT_REQUIRED = 'devices/<String>/deviceUsers/<String>'
|
|
29512
29514
|
def getCIDeviceUserEntity():
|
|
29513
29515
|
ci = buildGAPICIDeviceServiceObject()
|
|
@@ -29956,6 +29958,7 @@ DEVICE_ORDERBY_CHOICE_MAP = {
|
|
|
29956
29958
|
# [orderby <DeviceOrderByFieldName> [ascending|descending]]
|
|
29957
29959
|
# [all|company|personal|nocompanydevices|nopersonaldevices]
|
|
29958
29960
|
# [nodeviceusers|oneuserperrow]
|
|
29961
|
+
# [clientstates]
|
|
29959
29962
|
# [formatjson [quotechar <Character>]]
|
|
29960
29963
|
# [showitemcountonly]
|
|
29961
29964
|
def doPrintCIDevices():
|
|
@@ -29971,6 +29974,7 @@ def doPrintCIDevices():
|
|
|
29971
29974
|
queries = [None]
|
|
29972
29975
|
view, entityType = DEVICE_VIEW_CHOICE_MAP['all']
|
|
29973
29976
|
getDeviceUsers = True
|
|
29977
|
+
getClientStates = False
|
|
29974
29978
|
oneUserPerRow = showItemCountOnly = False
|
|
29975
29979
|
while Cmd.ArgumentsRemaining():
|
|
29976
29980
|
myarg = getArgument()
|
|
@@ -29986,6 +29990,8 @@ def doPrintCIDevices():
|
|
|
29986
29990
|
view, entityType = DEVICE_VIEW_CHOICE_MAP[myarg]
|
|
29987
29991
|
elif myarg == 'nodeviceusers':
|
|
29988
29992
|
getDeviceUsers = False
|
|
29993
|
+
elif myarg == 'clientstates':
|
|
29994
|
+
getClientStates = True
|
|
29989
29995
|
elif myarg in {'oneuserperrow', 'oneitemperrow'}:
|
|
29990
29996
|
getDeviceUsers = oneUserPerRow = True
|
|
29991
29997
|
elif getFieldsList(myarg, DEVICE_FIELDS_CHOICE_MAP, fieldsList, initialField='name'):
|
|
@@ -30004,14 +30010,16 @@ def doPrintCIDevices():
|
|
|
30004
30010
|
if FJQC.formatJSON and oneUserPerRow:
|
|
30005
30011
|
csvPF.SetJSONTitles(['name', 'user.name', 'JSON'])
|
|
30006
30012
|
itemCount = 0
|
|
30013
|
+
throwReasons = [GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED]
|
|
30014
|
+
retryReasons = GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS
|
|
30007
30015
|
for query in queries:
|
|
30008
30016
|
printGettingAllAccountEntities(entityType, query)
|
|
30009
30017
|
pageMessage = getPageMessage()
|
|
30010
30018
|
try:
|
|
30011
30019
|
devices = callGAPIpages(ci.devices(), 'list', 'devices',
|
|
30012
30020
|
pageMessage=pageMessage,
|
|
30013
|
-
throwReasons=
|
|
30014
|
-
retryReasons=
|
|
30021
|
+
throwReasons=throwReasons,
|
|
30022
|
+
retryReasons=retryReasons,
|
|
30015
30023
|
customer=customer, filter=query,
|
|
30016
30024
|
orderBy=OBY.orderBy, view=view, fields=fields, pageSize=100)
|
|
30017
30025
|
if showItemCountOnly:
|
|
@@ -30030,10 +30038,27 @@ def doPrintCIDevices():
|
|
|
30030
30038
|
try:
|
|
30031
30039
|
deviceUsers = callGAPIpages(ci.devices().deviceUsers(), 'list', 'deviceUsers',
|
|
30032
30040
|
pageMessage=pageMessage,
|
|
30033
|
-
throwReasons=
|
|
30034
|
-
retryReasons=
|
|
30041
|
+
throwReasons=throwReasons,
|
|
30042
|
+
retryReasons=retryReasons,
|
|
30035
30043
|
customer=customer, filter=query, parent=parent,
|
|
30036
30044
|
orderBy=OBY.orderBy, fields=userFields, pageSize=20)
|
|
30045
|
+
if getClientStates:
|
|
30046
|
+
printGettingAllAccountEntities(Ent.DEVICE_USER_CLIENT_STATE, None)
|
|
30047
|
+
states = callGAPIpages(ci.devices().deviceUsers().clientStates(), 'list', 'clientStates',
|
|
30048
|
+
pageMessage=pageMessage,
|
|
30049
|
+
throwReasons=throwReasons,
|
|
30050
|
+
retryReasons=retryReasons,
|
|
30051
|
+
customer=customer, filter=query, parent='devices/-/deviceUsers/-')
|
|
30052
|
+
for state in states:
|
|
30053
|
+
mg = DEVICE_USERNAME_CLIENT_STATE_PATTERN.match(state['name'])
|
|
30054
|
+
if mg:
|
|
30055
|
+
du = mg.group(1)
|
|
30056
|
+
state_name = mg.group(2)
|
|
30057
|
+
for i in range(len(deviceUsers)):
|
|
30058
|
+
if deviceUsers[i]['name'] == du:
|
|
30059
|
+
deviceUsers[i].setdefault('clientstates', {})
|
|
30060
|
+
deviceUsers[i]['clientstates'][state_name] = state
|
|
30061
|
+
break
|
|
30037
30062
|
for deviceUser in deviceUsers:
|
|
30038
30063
|
mg = DEVICE_USERNAME_PATTERN.match(deviceUser['name'])
|
|
30039
30064
|
if mg:
|
|
@@ -59498,6 +59523,7 @@ def _copyPermissions(drive, user, i, count, j, jcount,
|
|
|
59498
59523
|
GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
|
|
59499
59524
|
GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
|
|
59500
59525
|
GAPI.fileOrganizerOnNonTeamDriveNotSupported,
|
|
59526
|
+
GAPI.cannotModifyInheritedPermission,
|
|
59501
59527
|
GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility, GAPI.abusiveContentRestriction) as e:
|
|
59502
59528
|
entityActionFailedWarning(kvList, str(e), k, kcount)
|
|
59503
59529
|
break
|
|
@@ -60605,6 +60631,7 @@ def _updateMoveFilePermissions(drive, user, i, count,
|
|
|
60605
60631
|
GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
|
|
60606
60632
|
GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
|
|
60607
60633
|
GAPI.fileOrganizerOnNonTeamDriveNotSupported,
|
|
60634
|
+
GAPI.cannotModifyInheritedPermission,
|
|
60608
60635
|
GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility, GAPI.abusiveContentRestriction) as e:
|
|
60609
60636
|
entityActionFailedWarning(kvList, str(e), k, kcount)
|
|
60610
60637
|
break
|
|
@@ -63859,6 +63886,7 @@ def createDriveFileACL(users, useDomainAdminAccess=False):
|
|
|
63859
63886
|
GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
|
|
63860
63887
|
GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
|
|
63861
63888
|
GAPI.fileOrganizerOnNonTeamDriveNotSupported,
|
|
63889
|
+
GAPI.cannotModifyInheritedPermission,
|
|
63862
63890
|
GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
|
|
63863
63891
|
GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction) as e:
|
|
63864
63892
|
entityActionFailedWarning([Ent.USER, user, entityType, fileName, Ent.PERMISSION_ID, permissionId], str(e), j, jcount)
|
|
@@ -64094,6 +64122,7 @@ def createDriveFilePermissions(users, useDomainAdminAccess=False):
|
|
|
64094
64122
|
GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
|
|
64095
64123
|
GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
|
|
64096
64124
|
GAPI.fileOrganizerOnNonTeamDriveNotSupported,
|
|
64125
|
+
GAPI.cannotModifyInheritedPermission,
|
|
64097
64126
|
GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
|
|
64098
64127
|
GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction,
|
|
64099
64128
|
GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
gam/gamlib/glgapi.py
CHANGED
|
@@ -229,6 +229,7 @@ DRIVE3_CREATE_ACL_THROW_REASONS = [BAD_REQUEST, INVALID, INVALID_SHARING_REQUEST
|
|
|
229
229
|
FILE_ORGANIZER_NOT_YET_ENABLED_FOR_THIS_TEAMDRIVE,
|
|
230
230
|
FILE_ORGANIZER_ON_FOLDERS_IN_SHARED_DRIVE_ONLY,
|
|
231
231
|
FILE_ORGANIZER_ON_NON_TEAMDRIVE_NOT_SUPPORTED,
|
|
232
|
+
CANNOT_MODIFY_INHERITED_PERMISSION,
|
|
232
233
|
TEAMDRIVES_FOLDER_SHARING_NOT_SUPPORTED, INVALID_LINK_VISIBILITY, ABUSIVE_CONTENT_RESTRICTION]
|
|
233
234
|
DRIVE3_GET_ACL_REASONS = DRIVE_USER_THROW_REASONS+[FILE_NOT_FOUND, FORBIDDEN, INTERNAL_ERROR,
|
|
234
235
|
INSUFFICIENT_ADMINISTRATOR_PRIVILEGES, INSUFFICIENT_FILE_PERMISSIONS,
|
gam/gamlib/glskus.py
CHANGED
|
@@ -107,6 +107,8 @@ _SKUS = {
|
|
|
107
107
|
'product': '101047', 'aliases': ['aisecurity'], 'displayName': 'AI Security'},
|
|
108
108
|
'1010470007': {
|
|
109
109
|
'product': '101047', 'aliases': ['aimeetingsandmessaging'], 'displayName': 'AI Meetings and Messaging'},
|
|
110
|
+
'1010470008': {
|
|
111
|
+
'product': '101047', 'aliases': ['geminiultra'], 'displayName': 'Google AI Ultra for Business'},
|
|
110
112
|
'1010490001': {
|
|
111
113
|
'product': '101049', 'aliases': ['eeu'], 'displayName': 'Endpoint Education Upgrade'},
|
|
112
114
|
'1010500001': {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=gqwRxpsHisE3vG2X2AHWvt6mgfwCTjW1rGYI2q0z9ao,3534107
|
|
2
2
|
gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
|
|
3
3
|
gam/cacerts.pem,sha256=82Ak7btW_2XvocLUvAwPmpx8Chi0oqtZUG1gseLK_t4,50235
|
|
4
4
|
gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
|
|
@@ -27,12 +27,12 @@ gam/gamlib/glapi.py,sha256=A6kdyCacc9tvTaxMUNvWj8jWbOrss8e8XdkqF1xbN70,34572
|
|
|
27
27
|
gam/gamlib/glcfg.py,sha256=bNTckxzIM_HruxO2DfYsDbEgqOIz1RX6CbU6XOQQQyg,28296
|
|
28
28
|
gam/gamlib/glclargs.py,sha256=Ohe746FOQqMlXlutH-XJ6E1unYNzf_EJhdubnPp3new,42472
|
|
29
29
|
gam/gamlib/glentity.py,sha256=c9-7MAp0HruXEUVq8Nwkllxc4KypFeZRUFkvVzPwrwk,33760
|
|
30
|
-
gam/gamlib/glgapi.py,sha256=
|
|
30
|
+
gam/gamlib/glgapi.py,sha256=2mu7DQGGYmF7ZGXeBQu_mT1FNZgXbEQqcddJjHzbvE4,39833
|
|
31
31
|
gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
|
|
32
32
|
gam/gamlib/glglobals.py,sha256=J0xcHggVrUBzHJ5GruenKV-qV1zPKcK2qWgAgN3i5Jw,9608
|
|
33
33
|
gam/gamlib/glindent.py,sha256=RfBa2LDfLIqPLL5vMfC689TCVmqn8xf-qulSzkiatrc,1228
|
|
34
34
|
gam/gamlib/glmsgs.py,sha256=uSshtTyemMcJGCnYMy3hIilYHIh-IHFbCLlY2aAyTGM,33798
|
|
35
|
-
gam/gamlib/glskus.py,sha256=
|
|
35
|
+
gam/gamlib/glskus.py,sha256=e1u3zw1MGQjBgAFXqjrGWQl2d7eYpVlMYGpIKNwjskQ,15360
|
|
36
36
|
gam/gamlib/gluprop.py,sha256=IyPLCyvn7-NHTUenM71YPQPXRZXx6CB5q-GtJ-FYd1c,11461
|
|
37
37
|
gam/gamlib/glverlibs.py,sha256=xoQXiwcE_-HVYKv-VYA8O0mazRsc9mN-_ysj1dAlMyc,992
|
|
38
38
|
gam/gamlib/yubikey.py,sha256=-UC-3oue9qarYK3LT7YL6Gmqs7TMK8oz9_AoxdaG2FA,7925
|
|
@@ -65,8 +65,8 @@ gam/googleapiclient/discovery_cache/base.py,sha256=yCDPtxnbNN-p5_9fzBacC6P3wcUPl
|
|
|
65
65
|
gam/googleapiclient/discovery_cache/file_cache.py,sha256=sim3Mg4HgRYo3vX75jvcKy_aV568EvIrtBfvfbw-044,4774
|
|
66
66
|
gam/iso8601/__init__.py,sha256=Z2PsYbXgAH5a5xzUvgczCboPzqWpm65kRcIngCnhViU,1218
|
|
67
67
|
gam/iso8601/iso8601.py,sha256=Li2FHZ4sBTWuthuQhyCvmvj0j6At8JbGzkSv2fc2RHU,4384
|
|
68
|
-
gam7-7.10.
|
|
69
|
-
gam7-7.10.
|
|
70
|
-
gam7-7.10.
|
|
71
|
-
gam7-7.10.
|
|
72
|
-
gam7-7.10.
|
|
68
|
+
gam7-7.10.7.dist-info/METADATA,sha256=magKLnQvWiUc1Exm6w0uq8CAPWXSSw8VeANe4O4yWqs,2978
|
|
69
|
+
gam7-7.10.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
70
|
+
gam7-7.10.7.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
71
|
+
gam7-7.10.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
72
|
+
gam7-7.10.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|