diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 2f03b569..45ca2e5b 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,13 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation. +### 6.63.03 + +Added option `externalusersallowed ` to `gam create chatspace` +that allows creation of chat spaces that allow external users. + +Updated commands that process chat members to allow external users. + ### 6.63.02 Fixed bug in `gam collect orphans` where shortcuts were being created unnecessarily diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index b6d1a5a0..28bbddc8 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -330,7 +330,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin/bin/gamadv-xtd3$ ./gam version WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found -GAMADV-XTD3 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.10.8 64-bit final MacOS High Sierra 10.13.6 x86_64 @@ -972,7 +972,7 @@ writes the credentials into the file oauth2.txt. C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt C:\GAMADV-XTD3>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAMADV-XTD3 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.4 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Users-Chat.md b/docs/Users-Chat.md index 5f983adb..5bccbcd6 100644 --- a/docs/Users-Chat.md +++ b/docs/Users-Chat.md @@ -82,6 +82,7 @@ Google requires that you have a Chat Bot configured in order to use the Chat API ``` gam create chatspace [type ] + [externalusersrallowed ] [members ] [displayname ] [description ] [guidelines ] diff --git a/docs/Users-Drive-Files-Display.md b/docs/Users-Drive-Files-Display.md index f67620e7..b56920ad 100644 --- a/docs/Users-Drive-Files-Display.md +++ b/docs/Users-Drive-Files-Display.md @@ -1006,7 +1006,7 @@ The `labels` column indicates the number of drive labels a file has and there ar ``` ...labels,labelsIds,... ``` -The `labels` column indicates the number of drive labels a file has and the `labelssIds` column is a list of the drive label IDs +The `labels` column indicates the number of drive labels a file has and the `labelsIds` column is a list of the drive label IDs separated by `delimiter `; the default value is `csv_output_field_delimiter` from `gam.cfg`. By default, all ACLS are displayed; use the following option in conjunction with `* []` diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 9650fdb7..945d7dc6 100644 --- a/docs/Version-and-Help.md +++ b/docs/Version-and-Help.md @@ -3,7 +3,7 @@ Print the current version of Gam with details ``` gam version -GAMADV-XTD3 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.4 64-bit final MacOS Monterey 12.6.6 x86_64 @@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00 Print the current version of Gam with details and time offset information ``` gam version timeoffset -GAMADV-XTD3 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.4 64-bit final MacOS Monterey 12.6.6 x86_64 @@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second Print the current version of Gam with extended details and SSL information ``` gam version extended -GAMADV-XTD3 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.4 64-bit final MacOS Monterey 12.6.6 x86_64 @@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64 Path: /Users/Admin/bin/gamadv-xtd3 Version Check: Current: 5.35.08 - Latest: 6.63.01 + Latest: 6.63.03 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.63.01 +6.63.03 ``` In Linux/MacOS you can do: ``` @@ -82,7 +82,7 @@ echo $VER Print the current version of Gam and address of this Wiki ``` gam help -GAM 6.63.01 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.63.03 - https://github.com/taers232c/GAMADV-XTD3 Ross Scroggs Python 3.11.4 64-bit final MacOS Monterey 12.6.6 x86_64 diff --git a/src/GamCommands.txt b/src/GamCommands.txt index 18165bed..2be5f946 100644 --- a/src/GamCommands.txt +++ b/src/GamCommands.txt @@ -5719,6 +5719,7 @@ gam print workinglocation gam create chatspace [type ] + [externalusersrallowed ] [members ] [displayname ] [description ] [guidelines ] diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index e13bc8a0..581cca0a 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,13 @@ Merged GAM-Team version +6.63.03 + +Added option `externalusersallowed ` to `gam create chatspace` +that allows creation of chat spaces that allow external users. + +Updated commands that process chat members to allow external users. + 6.63.02 Fixed bug in `gam collect orphans` where shortcuts were being created unnecessarily diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 719ca409..d1d1fa37 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -24442,6 +24442,7 @@ CHAT_SPACE_MIN_MAX_MEMBERS = { } # gam create chatspace # [type ] +# [externalusersallowed ] # [members ] # [displayname ] # [description ] [guidelines|rules ] @@ -24449,7 +24450,6 @@ CHAT_SPACE_MIN_MAX_MEMBERS = { # [] # [formatjson|returnidonly] def createChatSpace(users): - cd = buildGAPIObject(API.DIRECTORY) FJQC = FormatJSONQuoteChar() body = {'space': {'spaceType': CHAT_SPACE_TYPE_MAP['space'], 'displayName': ''}, 'requestId': str(uuid.uuid4()), @@ -24461,6 +24461,8 @@ def createChatSpace(users): myarg = getArgument() if getChatSpaceParameters(myarg, body['space'], CHAT_SPACE_TYPE_MAP): pass + elif myarg == 'externalusersallowed': + body['space']['externalUserAllowed'] = getBoolean() elif myarg == 'members': _, members = getEntityToModify(defaultEntityType=Cmd.ENTITY_USERS) elif myarg == 'returnidonly': @@ -24480,7 +24482,7 @@ def createChatSpace(users): CHAT_SPACE_MIN_MAX_MEMBERS[spaceType]['max'])) mtype = CHAT_MEMBER_TYPE_MAP['human'] for member in members: - name = convertEmailAddressToUID(member, cd, 'user') + name = normalizeEmailAddressOrUID(member) body['memberships'].append({'member': {'name': f'users/{name}', 'type': mtype}}) if spaceType == 'SPACE': if not body['space']['displayName']: @@ -24801,7 +24803,7 @@ def createChatMember(users): parent = getChatSpace(myarg) elif myarg == 'user': userList.append(getEmailAddress(returnUIDprefix='uid:')) - elif myarg == 'members': + elif myarg in {'member', 'members'}: _, members = getEntityToModify(defaultEntityType=Cmd.ENTITY_USERS) userList.extend(members) elif myarg == 'type': @@ -24816,7 +24818,7 @@ def createChatMember(users): missingArgumentExit('user|members') userMembers = [] for user in userList: - name = convertEmailAddressToUID(user, cd, 'user') + name = normalizeEmailAddressOrUID(user) userMembers.append({'member': {'name': f'users/{name}', 'type': mtype}}) i, count, users = getEntityArgument(users) for user in users: @@ -24830,7 +24832,6 @@ def createChatMember(users): # ((user )|(members ))+ # gam remove chatmember members def deleteChatMember(users): - cd = buildGAPIObject(API.DIRECTORY) action = Act.Get() parent = None memberNames = [] @@ -24847,7 +24848,7 @@ def deleteChatMember(users): parent = getChatSpace(myarg) elif myarg == 'user': userList.append(getEmailAddress(returnUIDprefix='uid:')) - elif myarg == 'members': + elif myarg in {'member', 'members'}: _, members = getEntityToModify(defaultEntityType=Cmd.ENTITY_USERS) userList.extend(members) else: @@ -24861,7 +24862,7 @@ def deleteChatMember(users): if not userList: missingArgumentExit('user|members') for user in userList: - name = convertEmailAddressToUID(user, cd, 'user') + name = normalizeEmailAddressOrUID(user) memberNames.append(f'{parent}/members/{name}') i, count, users = getEntityArgument(users) for user in users: