gam7 7.5.16__py3-none-any.whl → 7.5.18__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 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.05.16'
28
+ __version__ = '7.05.18'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -4088,13 +4088,8 @@ def SetGlobalVariables():
4088
4088
  GC.Values[GC.OUTPUT_DATEFORMAT] = GM.Globals[GM.OUTPUT_DATEFORMAT]
4089
4089
  if not GC.Values[GC.OUTPUT_TIMEFORMAT]:
4090
4090
  GC.Values[GC.OUTPUT_TIMEFORMAT] = GM.Globals[GM.OUTPUT_TIMEFORMAT]
4091
- # Create/set mode for oauth2.txt.lock
4092
- if not GM.Globals[GM.OAUTH2_TXT_LOCK]:
4093
- fileName = f'{GC.Values[GC.OAUTH2_TXT]}.lock'
4094
- if not os.path.isfile(fileName):
4095
- closeFile(openFile(fileName, mode=DEFAULT_FILE_APPEND_MODE))
4096
- os.chmod(fileName, 0o666)
4097
- GM.Globals[GM.OAUTH2_TXT_LOCK] = fileName
4091
+ # Define lockfile: oauth2.txt.lock
4092
+ GM.Globals[GM.OAUTH2_TXT_LOCK] = f'{GC.Values[GC.OAUTH2_TXT]}.lock'
4098
4093
  # Override httplib2 settings
4099
4094
  httplib2.debuglevel = GC.Values[GC.DEBUG_LEVEL]
4100
4095
  # Reset global variables if required
@@ -4113,7 +4108,7 @@ def SetGlobalVariables():
4113
4108
  if checkArgumentPresent(Cmd.MULTIPROCESSEXIT_CMD):
4114
4109
  _setMultiprocessExit()
4115
4110
  # redirect csv <FileName> [multiprocess] [append] [noheader] [charset <CharSet>]
4116
- # [columndelimiter <Character>] [noescapechar [<Boolean>]] [quotechar <Character>]]
4111
+ # [columndelimiter <Character>] [quotechar <Character>]] [noescapechar [<Boolean>]]
4117
4112
  # [sortheaders <StringList>] [timestampcolumn <String>] [transpose [<Boolean>]]
4118
4113
  # [todrive <ToDriveAttribute>*]
4119
4114
  # redirect stdout <FileName> [multiprocess] [append]
@@ -39410,7 +39405,10 @@ def _showCalendarEvent(primaryEmail, calId, eventEntityType, event, k, kcount, F
39410
39405
  Ind.Increment()
39411
39406
  for field in EVENT_SHOW_ORDER:
39412
39407
  if field in event:
39413
- showJSON(field, event[field], skipObjects, EVENT_TIME_OBJECTS)
39408
+ if field != 'description':
39409
+ showJSON(field, event[field], skipObjects, EVENT_TIME_OBJECTS)
39410
+ else:
39411
+ printKeyValueWithCRsNLs(field, event[field])
39414
39412
  skipObjects.add(field)
39415
39413
  showJSON(None, event, skipObjects)
39416
39414
  Ind.Decrement()
@@ -58745,7 +58743,7 @@ def _copyPermissions(drive, user, i, count, j, jcount,
58745
58743
  except (GAPI.notFound, GAPI.permissionNotFound,
58746
58744
  GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
58747
58745
  GAPI.fileNeverWritable, GAPI.badRequest, GAPI.cannotRemoveOwner, GAPI.cannotModifyInheritedTeamDrivePermission,
58748
- GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded) as e:
58746
+ GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded, GAPI.cannotDeletePermission) as e:
58749
58747
  entityActionFailedWarning(kvList, str(e), k, kcount)
58750
58748
  except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
58751
58749
  userDriveServiceNotEnabledWarning(user, str(e), i, count)
@@ -59776,7 +59774,7 @@ def _updateMoveFilePermissions(drive, user, i, count,
59776
59774
  except (GAPI.notFound, GAPI.permissionNotFound,
59777
59775
  GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
59778
59776
  GAPI.fileNeverWritable, GAPI.badRequest, GAPI.cannotRemoveOwner, GAPI.cannotModifyInheritedTeamDrivePermission,
59779
- GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded) as e:
59777
+ GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded, GAPI.cannotDeletePermission) as e:
59780
59778
  entityActionFailedWarning(kvList, str(e), k, kcount)
59781
59779
  except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
59782
59780
  userDriveServiceNotEnabledWarning(user, str(e), i, count)
@@ -61479,7 +61477,7 @@ def transferDrive(users):
61479
61477
  if showRetentionMessages:
61480
61478
  entityActionPerformed([Ent.USER, sourceUser, childFileType, childFileName, Ent.ROLE, ownerRetainRoleBody['role']], j, jcount)
61481
61479
  except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
61482
- GAPI.badRequest, GAPI.sharingRateLimitExceeded, GAPI.cannotRemoveOwner) as e:
61480
+ GAPI.badRequest, GAPI.sharingRateLimitExceeded, GAPI.cannotRemoveOwner, GAPI.cannotDeletePermission) as e:
61483
61481
  entityActionFailedWarning([Ent.USER, sourceUser, childFileType, childFileName], str(e), j, jcount)
61484
61482
  except GAPI.permissionNotFound:
61485
61483
  entityDoesNotHaveItemWarning([Ent.USER, sourceUser, childFileType, childFileName, Ent.PERMISSION_ID, sourcePermissionId], j, jcount)
@@ -61532,7 +61530,7 @@ def transferDrive(users):
61532
61530
  if showRetentionMessages:
61533
61531
  entityActionPerformed([Ent.USER, sourceUser, childFileType, childFileName, Ent.ROLE, sourceUpdateRole['role']], j, jcount)
61534
61532
  except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
61535
- GAPI.badRequest, GAPI.sharingRateLimitExceeded, GAPI.cannotRemoveOwner) as e:
61533
+ GAPI.badRequest, GAPI.sharingRateLimitExceeded, GAPI.cannotRemoveOwner, GAPI.cannotDeletePermission) as e:
61536
61534
  entityActionFailedWarning([Ent.USER, ownerUser, childFileType, childFileName], str(e), j, jcount)
61537
61535
  except GAPI.permissionNotFound:
61538
61536
  entityDoesNotHaveItemWarning([Ent.USER, ownerUser, childFileType, childFileName, Ent.PERMISSION_ID, sourcePermissionId], j, jcount)
@@ -61556,7 +61554,7 @@ def transferDrive(users):
61556
61554
  if showRetentionMessages:
61557
61555
  entityActionPerformed([Ent.USER, targetUser, childFileType, childFileName, Ent.ROLE, targetInsertBody['role']], j, jcount)
61558
61556
  except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
61559
- GAPI.badRequest, GAPI.sharingRateLimitExceeded) as e:
61557
+ GAPI.badRequest, GAPI.sharingRateLimitExceeded, GAPI.cannotDeletePermission) as e:
61560
61558
  entityActionFailedWarning([Ent.USER, ownerUser, childFileType, childFileName], str(e), j, jcount)
61561
61559
  except GAPI.invalidSharingRequest as e:
61562
61560
  entityActionFailedWarning([Ent.USER, ownerUser, childFileType, childFileName], Ent.TypeNameMessage(Ent.PERMISSION_ID, targetPermissionId, str(e)), j, jcount)
@@ -62299,7 +62297,7 @@ def claimOwnership(users):
62299
62297
  entityActionPerformed([Ent.USER, oldOwner, entityType, fileDesc, Ent.ROLE, sourceRetainRoleBody['role']], l, lcount)
62300
62298
  except GAPI.permissionNotFound:
62301
62299
  entityDoesNotHaveItemWarning([Ent.USER, oldOwner, entityType, fileDesc, Ent.PERMISSION_ID, oldOwnerPermissionId], l, lcount)
62302
- except (GAPI.badRequest, GAPI.insufficientFilePermissions) as e:
62300
+ except (GAPI.badRequest, GAPI.insufficientFilePermissions, GAPI.cannotDeletePermission) as e:
62303
62301
  entityActionFailedWarning([Ent.USER, oldOwner, entityType, fileDesc], str(e), l, lcount)
62304
62302
  except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
62305
62303
  userDriveServiceNotEnabledWarning(user, str(e), i, count)
@@ -63471,7 +63469,7 @@ def deleteDriveFileACLs(users, useDomainAdminAccess=False):
63471
63469
  _updateSheetProtectedRangesACLchange(sheet, user, i, count, j, jcount, fileId, fileName, False, permission)
63472
63470
  except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
63473
63471
  GAPI.fileNeverWritable, GAPI.badRequest, GAPI.cannotRemoveOwner, GAPI.cannotModifyInheritedTeamDrivePermission,
63474
- GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded) as e:
63472
+ GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded, GAPI.cannotDeletePermission) as e:
63475
63473
  entityActionFailedWarning([Ent.USER, user, entityType, fileName], str(e), j, jcount)
63476
63474
  except GAPI.notFound as e:
63477
63475
  entityActionFailedWarning([Ent.USER, user, Ent.SHAREDDRIVE, fileName], str(e), j, jcount)
@@ -63527,7 +63525,7 @@ def deletePermissions(users, useDomainAdminAccess=False):
63527
63525
  entityActionPerformed([Ent.DRIVE_FILE_OR_FOLDER_ID, ri[RI_ENTITY], Ent.PERMISSION_ID, ri[RI_ITEM]], int(ri[RI_J]), int(ri[RI_JCOUNT]))
63528
63526
  except (GAPI.fileNotFound, GAPI.forbidden, GAPI.internalError, GAPI.insufficientFilePermissions, GAPI.unknownError,
63529
63527
  GAPI.badRequest, GAPI.cannotRemoveOwner, GAPI.cannotModifyInheritedTeamDrivePermission,
63530
- GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded, GAPI.permissionNotFound,
63528
+ GAPI.insufficientAdministratorPrivileges, GAPI.sharingRateLimitExceeded, GAPI.permissionNotFound, GAPI.cannotDeletePermission,
63531
63529
  GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
63532
63530
  entityActionFailedWarning([Ent.DRIVE_FILE_OR_FOLDER_ID, ri[RI_ENTITY], Ent.PERMISSION_ID, ri[RI_ITEM]], str(e), int(ri[RI_J]), int(ri[RI_JCOUNT]))
63533
63531
  if int(ri[RI_J]) == int(ri[RI_JCOUNT]):
gam/gamlib/glgapi.py CHANGED
@@ -37,6 +37,7 @@ CANNOT_CHANGE_OWNER_ACL = 'cannotChangeOwnerAcl'
37
37
  CANNOT_CHANGE_OWN_PRIMARY_SUBSCRIPTION = 'cannotChangeOwnPrimarySubscription'
38
38
  CANNOT_COPY_FILE = 'cannotCopyFile'
39
39
  CANNOT_DELETE_ONLY_REVISION = 'cannotDeleteOnlyRevision'
40
+ CANNOT_DELETE_PERMISSION = 'cannotDeletePermission'
40
41
  CANNOT_DELETE_PRIMARY_CALENDAR = 'cannotDeletePrimaryCalendar'
41
42
  CANNOT_DELETE_PRIMARY_SENDAS = 'cannotDeletePrimarySendAs'
42
43
  CANNOT_DELETE_RESOURCE_WITH_CHILDREN = 'cannotDeleteResourceWithChildren'
@@ -246,7 +247,7 @@ DRIVE3_UPDATE_ACL_THROW_REASONS = [BAD_REQUEST, INVALID_OWNERSHIP_TRANSFER, CANN
246
247
  DRIVE3_DELETE_ACL_THROW_REASONS = [BAD_REQUEST, CANNOT_REMOVE_OWNER,
247
248
  CANNOT_MODIFY_INHERITED_TEAMDRIVE_PERMISSION,
248
249
  INSUFFICIENT_ADMINISTRATOR_PRIVILEGES, SHARING_RATE_LIMIT_EXCEEDED,
249
- NOT_FOUND, PERMISSION_NOT_FOUND]
250
+ NOT_FOUND, PERMISSION_NOT_FOUND, CANNOT_DELETE_PERMISSION]
250
251
  DRIVE3_MODIFY_LABEL_THROW_REASONS = DRIVE_USER_THROW_REASONS+[FILE_NOT_FOUND, NOT_FOUND, FORBIDDEN, INTERNAL_ERROR,
251
252
  FILE_NEVER_WRITABLE, APPLY_LABEL_FORBIDDEN,
252
253
  INSUFFICIENT_ADMINISTRATOR_PRIVILEGES, INSUFFICIENT_FILE_PERMISSIONS,
@@ -382,6 +383,8 @@ class cannotCopyFile(Exception):
382
383
  pass
383
384
  class cannotDeleteOnlyRevision(Exception):
384
385
  pass
386
+ class cannotDeletePermission(Exception):
387
+ pass
385
388
  class cannotDeletePrimaryCalendar(Exception):
386
389
  pass
387
390
  class cannotDeletePrimarySendAs(Exception):
@@ -676,6 +679,7 @@ REASON_EXCEPTION_MAP = {
676
679
  CANNOT_CHANGE_OWN_PRIMARY_SUBSCRIPTION: cannotChangeOwnPrimarySubscription,
677
680
  CANNOT_COPY_FILE: cannotCopyFile,
678
681
  CANNOT_DELETE_ONLY_REVISION: cannotDeleteOnlyRevision,
682
+ CANNOT_DELETE_PERMISSION: cannotDeletePermission,
679
683
  CANNOT_DELETE_PRIMARY_CALENDAR: cannotDeletePrimaryCalendar,
680
684
  CANNOT_DELETE_PRIMARY_SENDAS: cannotDeletePrimarySendAs,
681
685
  CANNOT_DELETE_RESOURCE_WITH_CHILDREN: cannotDeleteResourceWithChildren,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.5.16
3
+ Version: 7.5.18
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -1,4 +1,4 @@
1
- gam/__init__.py,sha256=1AuCuBhgmNZZtKL4FiX3u_Kg7g8v6vufVIs4ABjhLvc,3482916
1
+ gam/__init__.py,sha256=8HIbFsnREVaZVPbM-7x4-BnzzGPjVsyMXa_KAGpcI04,3483042
2
2
  gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
3
3
  gam/cacerts.pem,sha256=nJuWha0xm5dHw_5ptGphwRoO-r36Ccpqiww9pCEDbSc,67484
4
4
  gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
@@ -27,7 +27,7 @@ gam/gamlib/glapi.py,sha256=EAQXkaM13t6jjh9vL4eHJqIZRI5kmzeneiFs5xcWXfg,34304
27
27
  gam/gamlib/glcfg.py,sha256=cV011FpIWge4oi5_dJrdof66vUqX6UCvTGWWTNVmYEg,28055
28
28
  gam/gamlib/glclargs.py,sha256=ptSTGELZHQS6SfvGGJ3NrXRoHAToO108NTYsFQE-C4c,42200
29
29
  gam/gamlib/glentity.py,sha256=ZLbyMl9NhN-MBf9Rxmho2dBYeS4SNLMctpeaKFZSbQ4,33801
30
- gam/gamlib/glgapi.py,sha256=TYPc91Ab-tNr-_nRArhPdRaB_6FbCZjBBNpEmRJuXrw,38295
30
+ gam/gamlib/glgapi.py,sha256=49PPbxiW6EpPE4E8fAlLMx1mSMcQra1zwi-CSXPa7rk,38473
31
31
  gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
32
32
  gam/gamlib/glglobals.py,sha256=Y73xM1RNhIbtcqnMv1gcZF3wDWOeLWW-7SvoQyWw6tA,9659
33
33
  gam/gamlib/glindent.py,sha256=RfBa2LDfLIqPLL5vMfC689TCVmqn8xf-qulSzkiatrc,1228
@@ -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.5.16.dist-info/METADATA,sha256=zRrCQz1Mq69cv0LqKCLtiLt40Wn1JtiXsR8EAMejCFs,2889
69
- gam7-7.5.16.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
- gam7-7.5.16.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
- gam7-7.5.16.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
- gam7-7.5.16.dist-info/RECORD,,
68
+ gam7-7.5.18.dist-info/METADATA,sha256=eE2uVDi0Mi4uYJO1W3pgqk4eFw6IORpuQc2oo2TasnU,2889
69
+ gam7-7.5.18.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
+ gam7-7.5.18.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
+ gam7-7.5.18.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ gam7-7.5.18.dist-info/RECORD,,
File without changes