* Fix group settings
Clean up md5MatchesFile
* Simplify doGetCustomerInfo
Avoid trap when doPrintDomains returned a domain creationTime with no fraction.
Traceback (most recent call last):
File "gam.py", line 14761, in <module>
File "gam.py", line 14159, in ProcessGAMCommand
File "gam.py", line 2053, in doGetDomainInfo
File "gam.py", line 2088, in doGetCustomerInfo
File "_strptime.py", line 577, in _strptime_datetime
File "_strptime.py", line 359, in _strptime
ValueError: time data '2019-04-23 16:14:56' does not match format '%Y-%m-%d %H:%
M:%S.%f'
lansa.co.uk,True,2019-04-23 16:14:13.041000,secondary,
lansa.com.au,True,2019-04-23 16:14:56,secondary
* Convert team to shared in vault export
Restore _getValidCourseStates(croom), it is used by _getCourseStates in print courses/course-participants
* Update GamCommands.txt
* Fix typo
* Update gam.py
* Clean up sendOrDropEmail
* Date allowed in all commands, only sets kwargs for import/insert
* Two updates
Allow headers in draft/import/insert/send email
Quote arguments in todrive decscription
* Make requested changes
* Don't user sendser as an alias for from as they can be different things in SMTP
* On import message, default to not checking for spam
* Update draft/import/insert/sendemail
If possible, use same option names as already exist in my Gam for same commands.
Include charset with file.
* Code cleanup
Add notregex to GAM_CSV_ROW_FILTER to allow selection rows that don't have a particular value
Standarize formatting timestamps
Display mobile.patchSecurityLevel as a date/time
* Handle missing credentials, e.g., two gam oauth deletes in a row
* Add scopes back to oauth2.txt
If scopes are in oauth2.txt, an advanced gam user can use it unchanged. My code does preemptive error checking to detect API scope mismatches early on.
* Suppress token details unless requested
* Bring on the details
* Update scopes used to make oauth2.txt
* Clean up random string generation
You don't want printable.
string.printable: String of characters which are considered printable. This is a combination of digits, letters, punctuation, and whitespace.
string.whitespace: A string containing all characters that are considered whitespace. On most systems this includes the characters space, tab, linefeed, return, formfeed, and vertical tab.
* Cleanup
* Update printevents
The column header should be calendarId not primaryEmail as the user could specify a resource calendar for instance.
The order should be calendarId,id: major,minor as in other print commands.
* Event cleanup
* More event cleanup
* Add csvsheet <String> and targetname - to get drivefile
Standarize id: and uid: processing
* Update var.py for Sheets API
* Handle revisionId in download of non Google files
* Multiple small fixes
Allow mixed case when creating/updating/deleting alias: 362/378, 8068, 8622, 10162
Recode callGAPIpages for future benefits: 890/940
Handle out of range start_time end_time values in gam report: 1441/1444
Work around API bug where primary can't be used as calendarId: 2979/2980
Code cleanup in doCalendarAddEvent: 3507/3600
Get integers with subroutine: 228-236, multiple calls
Minimize data download in doDeleteGuardian: 2330/2348
Add contentmanager/fileorganizer role: 3984/4074
* Fix typos
* Code cleanup calendar ACL commands; add sendnotifications
* Correct documentation error
* Add operatingSystemType to user posix attribute
* Add Jay's changes
group member delivery settings, check max sheet bytes on CSV upload
* Cleanup writeCSVfile sheet size checking
* Revert "Add Jay's changes"
This reverts commit 9eb90ba7d7.
* Revert "Cleanup writeCSVfile sheet size checking"
This reverts commit 139a2f7f4c.
* More reverting
* Add textcolor and backgroundcolor to add/update label
pylint cleanup in new valult code
* Check that both textcolor and backgroundcolor are specified
1) Handle errors in gam-install.sh if user asks for unknown version
2) Over the last few days users get created but their org unit doesn't get assigned. If you say `gam ou /Path/To/Ou print users` you get a trap because you get a user with a primaryEmail and no orgUnitPath.
3) Make delete label take labels like all other label commands
4) Add data transfer service abbreviations like drive; this avoids an API call
* Updates
8278/8287, 10374/10394, 11391/11427 - Work around Google list members bug that returns owners/managers as members
10246/10274, 10589/10687 - add query <GroupQuery> to print groups/group-members
* Update documantation
* Update documentation
* Add fulldatarequired to gam report user/customer
Fix missing email address normalization
* Cleanup, fullDataType is always same type, empty means all