gam7 7.18.2__py3-none-any.whl → 7.18.4__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 +74 -6
- gam/gamlib/glapi.py +1 -0
- gam/gamlib/glclargs.py +2 -0
- gam/gamlib/glentity.py +6 -2
- gam/gamlib/glmsgs.py +1 -0
- {gam7-7.18.2.dist-info → gam7-7.18.4.dist-info}/METADATA +1 -1
- {gam7-7.18.2.dist-info → gam7-7.18.4.dist-info}/RECORD +10 -10
- {gam7-7.18.2.dist-info → gam7-7.18.4.dist-info}/WHEEL +0 -0
- {gam7-7.18.2.dist-info → gam7-7.18.4.dist-info}/entry_points.txt +0 -0
- {gam7-7.18.2.dist-info → gam7-7.18.4.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.18.
|
|
28
|
+
__version__ = '7.18.04'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -10672,9 +10672,6 @@ Select all default scopes by entering an 's'; yields [*] for default scopes, [ ]
|
|
|
10672
10672
|
Unselect all scopes by entering a 'u'; yields [ ] for all scopes
|
|
10673
10673
|
Exit without changes/authorization by entering an 'e'
|
|
10674
10674
|
Continue to authorization by entering a 'c'
|
|
10675
|
-
'''
|
|
10676
|
-
if clientAccess:
|
|
10677
|
-
oauth2_menu += ''' Note, if all scopes are selected, Google will probably generate an authorization error
|
|
10678
10675
|
'''
|
|
10679
10676
|
menu = oauth2_menu % tuple(range(numScopes))
|
|
10680
10677
|
selectedScopes = ['*'] * numScopes
|
|
@@ -10776,7 +10773,25 @@ Continue to authorization by entering a 'c'
|
|
|
10776
10773
|
break
|
|
10777
10774
|
sys.stdout.write(f'{ERROR_PREFIX}Invalid input "{choice}"\n')
|
|
10778
10775
|
if selection == 'c':
|
|
10779
|
-
|
|
10776
|
+
if clientAccess:
|
|
10777
|
+
numSelectedScopes = 0
|
|
10778
|
+
i = 0
|
|
10779
|
+
for a_scope in scopesList:
|
|
10780
|
+
if selectedScopes[i] == '*':
|
|
10781
|
+
if a_scope['scope']:
|
|
10782
|
+
numSelectedScopes += 1
|
|
10783
|
+
elif selectedScopes[i] != ' ':
|
|
10784
|
+
numSelectedScopes += 1
|
|
10785
|
+
i += 1
|
|
10786
|
+
if numSelectedScopes <= API.NUM_CLIENT_SCOPES_ERROR_LIMIT:
|
|
10787
|
+
break
|
|
10788
|
+
# If number of scopes is > 48 we'll probably get an error
|
|
10789
|
+
writeStdout(Msg.NUM_SELECTED_CLIENT_SCOPES.format(numSelectedScopes, API.NUM_CLIENT_SCOPES_ERROR_LIMIT))
|
|
10790
|
+
choice = readStdin('\nPlease enter c to continue to authorization or any other key to amend selection: ')
|
|
10791
|
+
if choice and choice.lower() == 'c':
|
|
10792
|
+
break
|
|
10793
|
+
else:
|
|
10794
|
+
break
|
|
10780
10795
|
return selectedScopes
|
|
10781
10796
|
|
|
10782
10797
|
def _localhost_to_ip():
|
|
@@ -27066,6 +27081,8 @@ def _getChatMemberEmail(cd, member):
|
|
|
27066
27081
|
if member['member']['type'] == 'HUMAN':
|
|
27067
27082
|
_, memberUid = member['member']['name'].split('/')
|
|
27068
27083
|
member['member']['email'], _ = convertUIDtoEmailAddressWithType(f'uid:{memberUid}', cd, None, emailTypes=['user'])
|
|
27084
|
+
if member['member']['email'].find('@') == -1:
|
|
27085
|
+
member['member']['email'] = 'id:'+member['member']['email']
|
|
27069
27086
|
elif 'groupMember' in member:
|
|
27070
27087
|
_, memberUid = member['groupMember']['name'].split('/')
|
|
27071
27088
|
member['groupMember']['email'], _ = convertUIDtoEmailAddressWithType(f'uid:{memberUid}', cd, None, emailTypes=['group'])
|
|
@@ -37783,6 +37800,54 @@ def doDeleteOrUndeleteAlert():
|
|
|
37783
37800
|
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.permissionDenied):
|
|
37784
37801
|
userAlertsServiceNotEnabledWarning(user)
|
|
37785
37802
|
|
|
37803
|
+
def _showAlertSettings(settings):
|
|
37804
|
+
notifications = settings.get('notifications', [])
|
|
37805
|
+
count = len(notifications)
|
|
37806
|
+
entityPerformAction([Ent.ALERT_SETTINGS, None])
|
|
37807
|
+
i = 0
|
|
37808
|
+
for notification in notifications:
|
|
37809
|
+
i += 1
|
|
37810
|
+
printEntity([Ent.NOTIFICATION, None], i, count)
|
|
37811
|
+
Ind.Increment()
|
|
37812
|
+
showJSON(None, notification)
|
|
37813
|
+
Ind.Decrement()
|
|
37814
|
+
|
|
37815
|
+
# gam show alertsettings
|
|
37816
|
+
def doShowAlertSettings():
|
|
37817
|
+
checkForExtraneousArguments()
|
|
37818
|
+
user, ac = buildGAPIServiceObject(API.ALERTCENTER, _getAdminEmail())
|
|
37819
|
+
if not ac:
|
|
37820
|
+
return
|
|
37821
|
+
try:
|
|
37822
|
+
settings = callGAPI(ac.v1beta1(), 'getSettings',
|
|
37823
|
+
throwReasons=GAPI.ALERT_THROW_REASONS)
|
|
37824
|
+
_showAlertSettings(settings)
|
|
37825
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.permissionDenied):
|
|
37826
|
+
userAlertsServiceNotEnabledWarning(user)
|
|
37827
|
+
|
|
37828
|
+
# gam update alertsettings <PubsubTopicName>
|
|
37829
|
+
def doUpdateAlertSettings(clear=False):
|
|
37830
|
+
if not clear:
|
|
37831
|
+
body = {'notifications':
|
|
37832
|
+
[{'cloudPubsubTopic': {'topicName': getString(Cmd.OB_PUBSUB_TOPIC_NAME)}}]}
|
|
37833
|
+
else:
|
|
37834
|
+
body = {'notifications': []}
|
|
37835
|
+
checkForExtraneousArguments()
|
|
37836
|
+
user, ac = buildGAPIServiceObject(API.ALERTCENTER, _getAdminEmail())
|
|
37837
|
+
if not ac:
|
|
37838
|
+
return
|
|
37839
|
+
try:
|
|
37840
|
+
settings = callGAPI(ac.v1beta1(), 'updateSettings',
|
|
37841
|
+
throwReasons=GAPI.ALERT_THROW_REASONS,
|
|
37842
|
+
body=body)
|
|
37843
|
+
_showAlertSettings(settings)
|
|
37844
|
+
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.permissionDenied):
|
|
37845
|
+
userAlertsServiceNotEnabledWarning(user)
|
|
37846
|
+
|
|
37847
|
+
# gam clear alertsettings
|
|
37848
|
+
def doClearAlertSettings():
|
|
37849
|
+
doUpdateAlertSettings(clear=True)
|
|
37850
|
+
|
|
37786
37851
|
ALERT_TIME_OBJECTS = {'createTime', 'startTime', 'endTime'}
|
|
37787
37852
|
|
|
37788
37853
|
def _showAlert(alert, FJQC, i=0, count=0):
|
|
@@ -77170,7 +77235,8 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
77170
77235
|
),
|
|
77171
77236
|
'clear':
|
|
77172
77237
|
(Act.CLEAR,
|
|
77173
|
-
{Cmd.
|
|
77238
|
+
{Cmd.ARG_ALERTSETTINGS: doClearAlertSettings,
|
|
77239
|
+
Cmd.ARG_CONTACT: doClearDomainContacts,
|
|
77174
77240
|
}
|
|
77175
77241
|
),
|
|
77176
77242
|
'close':
|
|
@@ -77491,6 +77557,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
77491
77557
|
Cmd.ARG_ADMIN: doPrintShowAdmins,
|
|
77492
77558
|
Cmd.ARG_ALERT: doPrintShowAlerts,
|
|
77493
77559
|
Cmd.ARG_ALERTFEEDBACK: doPrintShowAlertFeedback,
|
|
77560
|
+
Cmd.ARG_ALERTSETTINGS: doShowAlertSettings,
|
|
77494
77561
|
Cmd.ARG_BROWSER: doPrintShowBrowsers,
|
|
77495
77562
|
Cmd.ARG_BROWSERTOKEN: doPrintShowBrowserTokens,
|
|
77496
77563
|
Cmd.ARG_BUILDING: doPrintShowBuildings,
|
|
@@ -77583,6 +77650,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|
|
77583
77650
|
'update':
|
|
77584
77651
|
(Act.UPDATE,
|
|
77585
77652
|
{Cmd.ARG_ADMINROLE: doCreateUpdateAdminRoles,
|
|
77653
|
+
Cmd.ARG_ALERTSETTINGS: doUpdateAlertSettings,
|
|
77586
77654
|
Cmd.ARG_ALIAS: doCreateUpdateAliases,
|
|
77587
77655
|
Cmd.ARG_BROWSER: doUpdateBrowsers,
|
|
77588
77656
|
Cmd.ARG_BUILDING: doUpdateBuilding,
|
gam/gamlib/glapi.py
CHANGED
|
@@ -119,6 +119,7 @@ USERINFO_PROFILE_SCOPE = 'https://www.googleapis.com/auth/userinfo.profile' # pr
|
|
|
119
119
|
VAULT_SCOPES = ['https://www.googleapis.com/auth/ediscovery', 'https://www.googleapis.com/auth/ediscovery.readonly']
|
|
120
120
|
REQUIRED_SCOPES = [USERINFO_EMAIL_SCOPE, USERINFO_PROFILE_SCOPE]
|
|
121
121
|
REQUIRED_SCOPES_SET = set(REQUIRED_SCOPES)
|
|
122
|
+
NUM_CLIENT_SCOPES_ERROR_LIMIT = 48
|
|
122
123
|
#
|
|
123
124
|
JWT_APIS = {
|
|
124
125
|
ACCESSCONTEXTMANAGER: [CLOUD_PLATFORM_SCOPE],
|
gam/gamlib/glclargs.py
CHANGED
|
@@ -411,6 +411,7 @@ class GamCLArgs():
|
|
|
411
411
|
ARG_ALERTFEEDBACK = 'alertfeedback'
|
|
412
412
|
ARG_ALERTFEEDBACKS = 'alertfeedbacks'
|
|
413
413
|
ARG_ALERTSFEEDBACK = 'alertsfeedback'
|
|
414
|
+
ARG_ALERTSETTINGS = 'alertsettings'
|
|
414
415
|
ARG_ALIAS = 'alias'
|
|
415
416
|
ARG_ALIASES = 'aliases'
|
|
416
417
|
ARG_ALIASDOMAIN = 'aliasdomain'
|
|
@@ -1013,6 +1014,7 @@ class GamCLArgs():
|
|
|
1013
1014
|
OB_PROJECT_ID_ENTITY = 'ProjectIDEntity'
|
|
1014
1015
|
OB_PROPERTY_KEY = 'PropertyKey'
|
|
1015
1016
|
OB_PROPERTY_VALUE = 'PropertyValue'
|
|
1017
|
+
OB_PUBSUB_TOPIC_NAME = 'PubSubTopicName'
|
|
1016
1018
|
OB_QUERY = 'Query'
|
|
1017
1019
|
OB_QUERY_ITEM = 'QueryItem'
|
|
1018
1020
|
OB_QUERY_LIST = 'QueryList'
|
gam/gamlib/glentity.py
CHANGED
|
@@ -54,6 +54,7 @@ class GamEntity():
|
|
|
54
54
|
ALERT_ID = 'alri'
|
|
55
55
|
ALERT_FEEDBACK = 'alfb'
|
|
56
56
|
ALERT_FEEDBACK_ID = 'alfi'
|
|
57
|
+
ALERT_SETTINGS = 'alrs'
|
|
57
58
|
ALIAS = 'alia'
|
|
58
59
|
ALIAS_EMAIL = 'alie'
|
|
59
60
|
ALIAS_TARGET = 'alit'
|
|
@@ -285,10 +286,11 @@ class GamEntity():
|
|
|
285
286
|
MIMETYPE = 'mime'
|
|
286
287
|
MOBILE_DEVICE = 'mobi'
|
|
287
288
|
NAME = 'name'
|
|
289
|
+
NONEDITABLE_ALIAS = 'neal'
|
|
288
290
|
NOTE = 'note'
|
|
289
291
|
NOTE_ACL = 'nota'
|
|
290
292
|
NOTES_ACLS = 'naac'
|
|
291
|
-
|
|
293
|
+
NOTIFICATION = 'noti'
|
|
292
294
|
OAUTH2_TXT_FILE = 'oaut'
|
|
293
295
|
OAUTH2SERVICE_JSON_FILE = 'oau2'
|
|
294
296
|
ORGANIZATIONAL_UNIT = 'orgu'
|
|
@@ -414,6 +416,7 @@ class GamEntity():
|
|
|
414
416
|
ALERT_ID: ['Alert IDs', 'Alert ID'],
|
|
415
417
|
ALERT_FEEDBACK: ['Alert Feedbacks', 'Alert Feedback'],
|
|
416
418
|
ALERT_FEEDBACK_ID: ['Alert Feedback IDs', 'Alert Feedback ID'],
|
|
419
|
+
ALERT_SETTINGS: ['Alert Settings', 'Alert Settings'],
|
|
417
420
|
ALIAS: ['Aliases', 'Alias'],
|
|
418
421
|
ALIAS_EMAIL: ['Alias Emails', 'Alias Email'],
|
|
419
422
|
ALIAS_TARGET: ['Alias Targets', 'Alias Target'],
|
|
@@ -645,10 +648,11 @@ class GamEntity():
|
|
|
645
648
|
MIMETYPE: ['MIME Types', 'MIME Type'],
|
|
646
649
|
MOBILE_DEVICE: ['Mobile Devices', 'Mobile Device'],
|
|
647
650
|
NAME: ['Names', 'Name'],
|
|
651
|
+
NONEDITABLE_ALIAS: ['Non-Editable Aliases', 'Non-Editable Alias'],
|
|
648
652
|
NOTE: ['Notes', 'Note'],
|
|
649
653
|
NOTE_ACL: ['Note ACLs', 'Note ACL'],
|
|
650
654
|
NOTES_ACLS: ["'Note's ACLs", "Note's ACLs"],
|
|
651
|
-
|
|
655
|
+
NOTIFICATION: ['Notifications', 'Notification'],
|
|
652
656
|
OAUTH2_TXT_FILE: ['Client OAuth2 File', 'Client OAuth2 File'],
|
|
653
657
|
OAUTH2SERVICE_JSON_FILE: ['Service Account OAuth2 File', 'Service Account OAuth2 File'],
|
|
654
658
|
ORGANIZATIONAL_UNIT: ['Organizational Units', 'Organizational Unit'],
|
gam/gamlib/glmsgs.py
CHANGED
|
@@ -433,6 +433,7 @@ NO_SVCACCT_ACCESS_ALLOWED = 'No Service Account Access allowed'
|
|
|
433
433
|
NO_TRANSFER_LACK_OF_DISK_SPACE = 'Transfer not performed due to lack of target drive space.'
|
|
434
434
|
NO_USAGE_PARAMETERS_DATA_AVAILABLE = 'No usage parameters data available.'
|
|
435
435
|
NO_USER_COUNTS_DATA_AVAILABLE = 'No User counts data available.'
|
|
436
|
+
NUM_SELECTED_CLIENT_SCOPES = '\n{0} scopes are selected, if more than {1} scopes are selected, Google will probably generate a "Something went wrong" error\n'
|
|
436
437
|
OAUTH2_GO_TO_LINK_MESSAGE = """
|
|
437
438
|
Go to the following link in a browser on this computer or on another computer:
|
|
438
439
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=lSFipSI6fSlg0J9H08IWN05Mo_kIh61EeR86LIEGQ-c,3577219
|
|
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
|
|
@@ -23,15 +23,15 @@ gam/atom/token_store.py,sha256=7E6Ecvxa86WCvl1pJAhv78jg9OxQv8pMtIUcPhZCq04,3803
|
|
|
23
23
|
gam/atom/url.py,sha256=pxO1TlORxyKQTQ1bkBE1unFzjnv9c8LjJkm-UEORShY,4276
|
|
24
24
|
gam/gamlib/__init__.py,sha256=z5mF-y0j8pm-YNFBaiuxB4M_GAUPG-cXWwrhYwrVReM,679
|
|
25
25
|
gam/gamlib/glaction.py,sha256=1Il_HrChVnPkzZwiZs5au4mFQVtq4K1Z42uIuR6qdnI,9419
|
|
26
|
-
gam/gamlib/glapi.py,sha256=
|
|
26
|
+
gam/gamlib/glapi.py,sha256=YPa_XvdoltFLSSrZOZ9thAwrAB_PU9BzJAIO6cUOSWI,35760
|
|
27
27
|
gam/gamlib/glcfg.py,sha256=J4w16Nfk282S7iuSmk3601GHgt_MJ4qWeSzF5y7ZzX0,28139
|
|
28
|
-
gam/gamlib/glclargs.py,sha256=
|
|
29
|
-
gam/gamlib/glentity.py,sha256=
|
|
28
|
+
gam/gamlib/glclargs.py,sha256=pgomQOKbiKOI5TfdC0hTT5BqGbQcikDMRfkUk6DEXrM,43881
|
|
29
|
+
gam/gamlib/glentity.py,sha256=ZQTdjVtGe8soMlgcSHJIpLHjQ_UtUL9qfw8ux-C4kik,34855
|
|
30
30
|
gam/gamlib/glgapi.py,sha256=pdBbwNtnCwFWxJGaP-_3hdTjSNoOCJF2yo76WdQOi1k,40426
|
|
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
|
-
gam/gamlib/glmsgs.py,sha256=
|
|
34
|
+
gam/gamlib/glmsgs.py,sha256=Acd7kdtYcBJwTxQIosXR3cEc4ze8yeMQvFMlFb9e9Qs,33963
|
|
35
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
|
|
@@ -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.18.
|
|
69
|
-
gam7-7.18.
|
|
70
|
-
gam7-7.18.
|
|
71
|
-
gam7-7.18.
|
|
72
|
-
gam7-7.18.
|
|
68
|
+
gam7-7.18.4.dist-info/METADATA,sha256=9Jont_975UdHfv5JG2oX6m9QUjoCE-wMBIpGS_UR6xg,2940
|
|
69
|
+
gam7-7.18.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
70
|
+
gam7-7.18.4.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
71
|
+
gam7-7.18.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
72
|
+
gam7-7.18.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|