Skip to content

Commit

Permalink
Fixed bug in gam print group-members ... cachememberinfo that cause…
Browse files Browse the repository at this point in the history
…d a trap.
  • Loading branch information
taers232c committed Oct 30, 2024
1 parent e46c837 commit 378c763
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 35 deletions.
3 changes: 3 additions & 0 deletions docs/Cloud-Identity-Policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@

## Notes
To use these commands you must update your client access authentication.
You'll enter 19R to turn on the Cloud Identity Policy scope; then continue
with authentication.
```
gam oauth delete
gam oauth create
...
[R] 19) Cloud Identity - Policy
Expand Down
26 changes: 5 additions & 21 deletions docs/Domain-SharedContacts-GAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -306,26 +306,10 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.

## Display global address list
As of mid-October 2024, Google deprecated the API that retrieved the Global Address List.

These commands are a work-around.
```
gam info gal <ContactEntity>
[basic|full]
[fields <ContactFieldNameList>] [formatjson]
gam show gal <ContactSelection>
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
[fields <ContactFieldNameList>] [formatjson]
```
By default, Gam displays the information as an indented list of keys and values.
* `formatjson` - Display the fields in JSON format.
```
gam print gal [todrive <ToDriveAttribute>*] <ContactSelection>
[basic|full] [orderby <ContactOrderByFieldName> [ascending|descending]]
[fields <ContactFieldNameList>] [formatjson [quotechar <Character>]]
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" redirect csv ./UserGAL.csv print users fields name,gal
gam config csv_output_row_filter "includeInGlobalAddressList:boolean:true" batch_size 25 redirect csv ./GroupGAL.csv print groups fields name,gal
```
By default, Gam displays the information as columns of fields.
* `formatjson` - Display the fields in JSON format.

By default, when writing CSV files, Gam uses a quote character of double quote `"`. The quote character is used to enclose columns that contain
the quote character itself, the column delimiter (comma by default) and new-line characters. Any quote characters within the column are doubled.
When using the `formatjson` option, double quotes are used extensively in the data resulting in hard to read/process output.
The `quotechar <Character>` option allows you to choose an alternate quote character, single quote for instance, that makes for readable/processable output.
`quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used.
4 changes: 4 additions & 0 deletions docs/GamUpdates.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.33

Fixed bug in `gam print group-members ... cachememberinfo` that caused a trap.

### 7.00.32

Updated `gam info policies` to accept different policy specifications:
Expand Down
4 changes: 2 additions & 2 deletions docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.32 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <[email protected]>
Python 3.13.0 64-bit final
MacOS Sonoma 14.5 x86_64
Expand Down Expand Up @@ -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.32 - https://github.com/GAM-team/GAM - pythonsource
GAM7 7.00.33 - https://github.com/GAM-team/GAM - pythonsource
GAM Team <[email protected]>
Python 3.13.0 64-bit final
Windows-10-10.0.17134 AMD64
Expand Down
12 changes: 6 additions & 6 deletions docs/Version-and-Help.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Print the current version of Gam with details
```
gam version
GAM 7.00.32 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <[email protected]>
Python 3.13.0 64-bit final
MacOS Sonoma 14.5 x86_64
Expand All @@ -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.32 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <[email protected]>
Python 3.13.0 64-bit final
MacOS Sonoma 14.5 x86_64
Expand All @@ -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.32 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.00.33 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <[email protected]>
Python 3.13.0 64-bit final
MacOS Sonoma 14.5 x86_64
Expand Down Expand Up @@ -64,15 +64,15 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gam7
Version Check:
Current: 5.35.08
Latest: 7.00.32
Latest: 7.00.33
echo $?
1
```

Print the current version number without details
```
gam version simple
7.00.32
7.00.33
```
In Linux/MacOS you can do:
```
Expand All @@ -82,7 +82,7 @@ echo $VER
Print the current version of Gam and address of this Wiki
```
gam help
GAM 7.00.32 - https://github.com/GAM-team/GAM
GAM 7.00.33 - https://github.com/GAM-team/GAM
GAM Team <[email protected]>
Python 3.13.0 64-bit final
MacOS Sonoma 14.5 x86_64
Expand Down
8 changes: 6 additions & 2 deletions src/GamUpdate.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
7.00.33

Fixed bug in `gam print group-members ... cachememberinfo` that caused a trap.

7.00.32

Updated `gam info policies` to accept different policy specifications:
* `polices/<String>` - A policy name, `policies/ahv4hg7qc24kvaghb7zihwf4riid4`
* `settings/<String>` - A policy setting type, `settings/workspace_marketplace.apps_allowlist'
* `<String>` - A policy setting type, `workspace_marketplace.apps_allowlist'
* `settings/<String>` - A policy setting type, `settings/workspace_marketplace.apps_allowlist`
* `<String>` - A policy setting type, `workspace_marketplace.apps_allowlist`

7.00.31

Expand Down
9 changes: 5 additions & 4 deletions src/gam/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"""

__author__ = 'GAM Team <[email protected]>'
__version__ = '7.00.32'
__version__ = '7.00.33'
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'

#pylint: disable=wrong-import-position
Expand Down Expand Up @@ -33844,7 +33844,7 @@ def getNameFromPeople(memberId):
if userFieldsList:
if not memberOptions[MEMBEROPTION_MEMBERNAMES] and 'name.fullName' in userFieldsList:
memberOptions[MEMBEROPTION_MEMBERNAMES] = True
if memberOptions[MEMBEROPTION_MEMBERNAMES]:
if memberOptions[MEMBEROPTION_MEMBERNAMES] or cacheMemberInfo:
if 'name.fullName' not in userFieldsList:
userFieldsList.append('name.fullName')
csvPF.AddTitles('name')
Expand Down Expand Up @@ -33906,12 +33906,13 @@ def getNameFromPeople(memberId):
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]:
row['name'] = mbinfo['name'].pop('fullName')
row['name'] = mname
if not mbinfo['name']:
mbinfo.pop('name')
if cacheMemberInfo:
memberNames[memberId] = row['name']
memberNames[memberId] = mname
if mbinfo:
memberInfo[memberId] = mbinfo
else:
Expand Down

0 comments on commit 378c763

Please sign in to comment.