* Use openFile/closeFile to avoid traps
This code isn't necessary, it will happen as part of close
f.flush()
os.fsync(f.fileno())
* Put flush/sync back
* Fix my mistake, keep pylint happy, set export folder
5439/5440: copy/paste mistake
7531/7550: file and object are Python objects, pylint gets very unhappy when you redefine them
7529, 7534, 7564: Use user-defined drive folder
* Cleanup download message
* 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
2993, 3625-3648, 12379-12380 - This is my vesion of PR #716
5537-5545 - Code cleanup, only pass callback when making new batxh
8069-8083 - Code cleanup, move big test outside of loop
9269-9270 - Code cleanup, match variable and keyword
2154-2226 - Handle application data transfer keys with no values
2391-2484 - Some you discussed a few months ago, no defaults for teacher and name when createing a course
4051 - allowFileDiscovery can't be changed on an update
* Three updates
973-1008 - Internally cache discovery documents
1857 - Use patch instead of update so customer address doesn't get wiped out
9917 - In writeCSVFiles, the number of columns is the number of titles. The number of columns in the first row may be smaller than that, think a file with one ACL where other ffiles have many
7171,7173, 10550, 10886, 11655, 12014, 12017 - Standardize error handling
* Fix accidental delete
* Revert patched google_auth_httplib2 and replace functionality by wrapping original library calls
* Wrap calls to google_auth_httplib2.Request__call__ to include a user-agent header.
* Fix bad dict key assignment syntax
* Add user agent header wrapper to requests handled by AuthorizedHttp
* Revert patched google_auth_httplib2 and replace functionality by wrapping original library calls
* Wrap calls to google_auth_httplib2.Request__call__ to include a user-agent header.
* Fix bad dict key assignment syntax