From a9c4c006b208051705c2b50b4052990156a20984 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Thu, 31 Oct 2024 11:27:56 -0700 Subject: [PATCH] Fixed bug introduced in 7.00.33 in `gam print group-members` that caused a trap. --- docs/GamUpdates.md | 4 ++++ docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md | 6 +++--- docs/Version-and-Help.md | 12 ++++++------ src/GamUpdate.txt | 4 ++++ src/gam/__init__.py | 17 +++++++++-------- 5 files changed, 26 insertions(+), 17 deletions(-) diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index e2a7d6c1..bf6f0d9b 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-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 7.00.34 + +Fixed bug introduced in 7.00.33 in `gam print group-members` that caused a trap. + ### 7.00.33 Fixed bug in `gam print group-members ... cachememberinfo` that caused a trap. diff --git a/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md b/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md index 570feb03..15096866 100644 --- a/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md +++ b/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md @@ -1,4 +1,4 @@ -!# Installation - Upgrading from Legacy GAM +# Installation - Upgrading from Legacy GAM Use these steps if you have used any version of GAM in your domain. They will update your GAM project and all necessary authentications. @@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ gam version WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found -GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.34 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 64-bit final MacOS Sonoma 14.5 x86_64 @@ -923,7 +923,7 @@ writes the credentials into the file oauth2.txt. C:\>del C:\GAMConfig\oauth2.txt C:\>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAM7 7.00.33 - https://github.com/GAM-team/GAM - pythonsource +GAM7 7.00.34 - https://github.com/GAM-team/GAM - pythonsource GAM Team Python 3.13.0 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index d151d65e..110390ca 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 -GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.34 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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 -GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.34 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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 -GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.34 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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/gam7 Version Check: Current: 5.35.08 - Latest: 7.00.33 + Latest: 7.00.34 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -7.00.33 +7.00.34 ``` 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 7.00.33 - https://github.com/GAM-team/GAM +GAM 7.00.34 - https://github.com/GAM-team/GAM GAM Team Python 3.13.0 64-bit final MacOS Sonoma 14.5 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index 0caf9a14..1c201575 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -1,3 +1,7 @@ +7.00.34 + +Fixed bug introduced in 7.00.33 in `gam print group-members` that caused a trap. + 7.00.33 Fixed bug in `gam print group-members ... cachememberinfo` that caused a trap. diff --git a/src/gam/__init__.py b/src/gam/__init__.py index bb13ad7e..4f7455f2 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki """ __author__ = 'GAM Team ' -__version__ = '7.00.33' +__version__ = '7.00.34' __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)' #pylint: disable=wrong-import-position @@ -33844,7 +33844,7 @@ def doPrintGroupMembers(): if userFieldsList: if not memberOptions[MEMBEROPTION_MEMBERNAMES] and 'name.fullName' in userFieldsList: memberOptions[MEMBEROPTION_MEMBERNAMES] = True - if memberOptions[MEMBEROPTION_MEMBERNAMES] or cacheMemberInfo: + if memberOptions[MEMBEROPTION_MEMBERNAMES]: if 'name.fullName' not in userFieldsList: userFieldsList.append('name.fullName') csvPF.AddTitles('name') @@ -33900,23 +33900,24 @@ def doPrintGroupMembers(): row['name'] = unknownName if memberType == Ent.TYPE_USER: try: - if not cacheMemberInfo or memberId not in memberNames: + if not cacheMemberInfo or memberId not in memberInfo: mbinfo = callGAPI(cd.users(), 'get', throwReasons=GAPI.USER_GET_THROW_REASONS+[GAPI.SERVICE_NOT_AVAILABLE, GAPI.FAILED_PRECONDITION], retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS, userKey=memberId, projection=schemaParms['projection'], customFieldMask=schemaParms['customFieldMask'], fields=userFields) - mname = mbinfo['name'].pop('fullName') if memberOptions[MEMBEROPTION_MEMBERNAMES]: + mname = mbinfo['name'].pop('fullName', unknownName) row['name'] = mname if not mbinfo['name']: mbinfo.pop('name') + if cacheMemberInfo: + memberNames[memberId] = mname if cacheMemberInfo: - memberNames[memberId] = mname - if mbinfo: - memberInfo[memberId] = mbinfo + memberInfo[memberId] = mbinfo else: - row['name'] = memberNames[memberId] + if memberOptions[MEMBEROPTION_MEMBERNAMES]: + row['name'] = memberNames[memberId] mbinfo = memberInfo.get(memberId, {}) if not FJQC.formatJSON: csvPF.WriteRowTitles(flattenJSON(mbinfo, flattened=row))