From c421904b78ab8560b2c1fc20e5a2ac5da5719a7c Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sun, 7 Jul 2024 14:56:45 -0700 Subject: [PATCH] Fixed bug in `gam create chatmember ... group ` that caused an error. --- docs/GamUpdates.md | 4 ++++ docs/How-to-Upgrade-from-Standard-GAM.md | 4 ++-- docs/Version-and-Help.md | 12 ++++++------ src/GamUpdate.txt | 4 ++++ src/gam/__init__.py | 22 ++++++++++++++-------- 5 files changed, 30 insertions(+), 16 deletions(-) diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 122a9b13..9e030ea2 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,10 @@ 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.77.07 + +Fixed bug in `gam create chatmember ... group ` that caused an error. + ### 6.77.06 Updated `gam update ou ... parent ` to handle the following error diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index da247e86..e18daf55 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -335,7 +335,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.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -1009,7 +1009,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.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 0178962c..5dbbdefb 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.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 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.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 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.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 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.77.06 + Latest: 6.77.07 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.77.06 +6.77.07 ``` 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.77.06 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.77.07 - https://github.com/taers232c/GAMADV-XTD3 Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index 706fc6e2..88c93378 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,10 @@ Merged GAM-Team version +6.77.07 + +Fixed bug in `gam create chatmember ... group ` that caused an error. + 6.77.06 Updated `gam update ou ... parent ` to handle the following error diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 17af56b3..bf5db4f0 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -25742,6 +25742,12 @@ def _getChatMemberEmail(cd, member): # (group )* (groups )* # [formatjson|returnidonly] def createChatMember(users): + def normalizeUserMember(user): + userList.append(convertEmailAddressToUID(user, cd, emailType='user')) + + def normalizeGroupMember(group): + groupList.append(convertEmailAddressToUID(group, cd, emailType='group')) + def addMembers(members, field, entityType, i, count): jcount = len(members) entityPerformActionNumItems(kvList, jcount, entityType, i, count) @@ -25791,14 +25797,16 @@ def createChatMember(users): if myarg == 'space' or myarg.startswith('spaces/') or myarg.startswith('space/'): parent = getChatSpace(myarg) elif myarg == 'user': - userList.append(getEmailAddress(returnUIDprefix='uid:')) + normalizeUserMember(getEmailAddress(returnUIDprefix='uid:')) elif myarg in {'member', 'members'}: _, members = getEntityToModify(defaultEntityType=Cmd.ENTITY_USERS) - userList.extend(members) + for user in members: + normalizeUserMember(user) elif myarg == 'group': - groupList.append(getEmailAddress(returnUIDprefix='uid:')) + normalizeGroupMember(getEmailAddress(returnUIDprefix='uid:')) elif myarg == 'groups': - groupList.extend(getEntityList(Cmd.OB_GROUP_ENTITY)) + for group in getEntityList(Cmd.OB_GROUP_ENTITY): + normalizeGroupMember(group) elif myarg == 'role': role = getChoice(CHAT_MEMBER_ROLE_MAP, mapChoice=True) elif myarg == 'type': @@ -25814,12 +25822,10 @@ def createChatMember(users): userEntityType = Ent.CHAT_MEMBER_USER if role == 'ROLE_MEMBER' else Ent.CHAT_MANAGER_USER userMembers = [] for user in userList: - name = normalizeEmailAddressOrUID(user) - userMembers.append({'member': {'name': f'users/{name}', 'type': mtype}}) + userMembers.append({'member': {'name': f'users/{user}', 'type': mtype}}) groupMembers = [] for group in groupList: - name = normalizeEmailAddressOrUID(group) - groupMembers.append({'groupMember': {'name': f'groups/{name}'}}) + groupMembers.append({'groupMember': {'name': f'groups/{group}'}}) i, count, users = getEntityArgument(users) if useAdminAccess: _chkChatAdminAccess(count)