* 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
sample() decreases randomness because a char will only be chosen from
the pool once for the string. Consider:
random.sample(string.digits, 10)
you'll always get the numbers 0-9 in some random order whereas:
random.choice(string.digits) for _ in range(10)
will give you greater randomness as there are 10 choices for every char.
The step to enable domain-wide delegation for a service account is
unnecessary. Even when unchecked, the service account gets access to the
scopes that admin has granted in admin console (gam user <email> check
serviceaccount).
* 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