From 93a6e4d8357cd4e7279ac31938c7c1b4d1a1e9d4 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sun, 11 Aug 2024 20:19:59 -0700 Subject: [PATCH] Fixed bug in `gam print users ... license ... formatjson` that caused a trap. --- 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 | 38 +++++++++++++----------- 5 files changed, 37 insertions(+), 25 deletions(-) diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 25ff5205..1b5fbf16 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](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 6.79.13 + +Fixed bug in `gam print users ... license ... formatjson` that caused a trap. + ### 6.79.12 Fixed bug in `gam user admin@domain.com print chatspaces asadmin` that caused the following error: diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index f37c3045..588efea4 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -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 -GAMADV-XTD3 6.79.12 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.13 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 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 -GAMADV-XTD3 6.79.12 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.13 - 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 b3b3384f..0aef5189 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.79.12 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.13 - 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.79.12 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.13 - 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.79.12 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.13 - 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.79.12 + Latest: 6.79.13 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.79.12 +6.79.13 ``` 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.79.12 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.79.13 - 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 68a4850d..348104a6 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,10 @@ Merged GAM-Team version +6.79.13 + +Fixed bug in `gam print users ... license ... formatjson` that caused a trap. + 6.79.12 Fixed bug in `gam user admin@domain.com print chatspaces asadmin` that caused the following error: diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 5123a88c..757fa90a 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -44131,23 +44131,27 @@ def doPrintUsers(entityList=None): for userEntity in entityList: _updateDomainCounts(normalizeEmailAddressOrUID(userEntity)) if not printOptions['countOnly']: - if printOptions['sortHeaders']: - sortTitles = ['primaryEmail'] - if printOptions['scalarsFirst']: - sortTitles.extend([f'name{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{field}' for field in USER_NAME_PROPERTY_PRINT_ORDER]+sorted(USER_LANGUAGE_PROPERTY_PRINT_ORDER+USER_SCALAR_PROPERTY_PRINT_ORDER)) - csvPF.SetSortTitles(sortTitles) - csvPF.SortTitles() - csvPF.SetSortTitles([]) - if sortRows and orderBy: - orderBy = 'primaryEmail' if orderBy == 'email' else f'name.{orderBy}' - csvPF.SortRows(orderBy, reverse=sortOrder == 'DESCENDING') - if printOptions['getGroupFeed']: - if not printOptions['groupsInColumns']: - csvPF.MoveTitlesToEnd(['GroupsCount', 'Groups']) - else: - csvPF.MoveTitlesToEnd(['Groups']+[f'Groups{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{j}' for j in range(printOptions['maxGroups'])]) - if printOptions['getLicenseFeed'] or printOptions['getLicenseFeedByUser']: - csvPF.MoveTitlesToEnd(licenseTitles) + if not FJQC.formatJSON: + if printOptions['sortHeaders']: + sortTitles = ['primaryEmail'] + if printOptions['scalarsFirst']: + sortTitles.extend([f'name{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{field}' for field in USER_NAME_PROPERTY_PRINT_ORDER]+sorted(USER_LANGUAGE_PROPERTY_PRINT_ORDER+USER_SCALAR_PROPERTY_PRINT_ORDER)) + csvPF.SetSortTitles(sortTitles) + csvPF.SortTitles() + csvPF.SetSortTitles([]) + if printOptions['getGroupFeed']: + if not printOptions['groupsInColumns']: + csvPF.MoveTitlesToEnd(['GroupsCount', 'Groups']) + else: + csvPF.MoveTitlesToEnd(['Groups']+[f'Groups{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{j}' for j in range(printOptions['maxGroups'])]) + if printOptions['getLicenseFeed'] or printOptions['getLicenseFeedByUser']: + csvPF.MoveTitlesToEnd(licenseTitles) + if sortRows and orderBy: + orderBy = 'primaryEmail' if orderBy == 'email' else f'name.{orderBy}' + csvPF.SortRows(orderBy, reverse=sortOrder == 'DESCENDING') + else: + if sortRows and orderBy == 'email': + csvPF.SortRows('primaryEmail', reverse=sortOrder == 'DESCENDING') elif not FJQC.formatJSON: for domain, count in sorted(iter(domainCounts.items())): csvPF.WriteRowNoFilter({'domain': domain, 'count': count})