* 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
Add targetfolder option to info cros; it defaults to value of GAMDRIVEDIR
Clean up download device file code
Allow print cros activity to select device files
Default remains activeTimeRanges and recentUsers
both still means activeTimeRanges and recentUsers
all means activeTimeRanges and recentUsers and deviceFiles
* Final building/feature/resource calendar cleanup
6905 - buildingId in user does not seem to refer to buildings
8026 - simplify
11284 - 11300 - Allow user to select new resoure calendar fields
11324, 11372 - make callGAPIpages calls similar to all others
11432 - collapse features to a list of names so it canbe fed back to update resource
11438 - Organize output
* Fix typos
* Check user location buildingId, fix typos
* Correct function name
* It's not a user error in the API gives us a bogus buildingId
* Update documentation, and _getBuildingNameById
You can do what ever you want except exit
* Minor cleanups
In print users allow actual field names isenforcedin2sv and isenrolledin2sv
In print users, add delimiter and sortheaders options
In print groups, add sortheaders option
* Fixed bug in gam oauth create where entering `e` to exit without changes didn't exit.