Jay Lee
6fcc59169c
gam rotate keys - rekey service accounts
2019-12-20 11:46:53 -05:00
Jay Lee
d389b8ad14
Merge branch 'master' of https://github.com/jay0lee/GAM
2019-12-19 13:44:17 -05:00
Jay Lee
6248958c94
cleanup
2019-12-19 13:44:07 -05:00
Jay Lee
e0e4c46329
Two fixes for project create
...
- Google changed URL for consent / client_id creation
- Python 3.5 httplib2 returns content as bytes breaking short URLs
2019-12-19 10:32:32 -05:00
Jay Lee
fdca4c2822
Remove workaround and require passlib 1.7.2
2019-12-16 11:05:53 -05:00
Ross Scroggs
dea2958d9d
Update code to allow recovery phone to be cleared ( #1052 )
2019-12-09 13:50:32 -05:00
ejochman
a0c410be0e
Begin breaking apart gam.py into logical pieces ( #1047 )
...
* Begin breaking apart gam.py into logical pieces
Start with one of the deepest parts of the stack, Google API request execution calls and associated errors. Critical information printing functions and application control logic are also broken out into their own components.
This change also adds unit tests for migrated content and makes code more PEP8 compliant.
This commit starts work on jay0lee/GAM#147
* Add unit tests to Travis config
* Swap assert_called_once() with assertEqual() and Mock.call_count
Makes tests compatible with Python 3.5. assert_called_once() is only available in Python 3.6+
2019-12-07 09:50:56 -05:00
Ross Scroggs
4cc1a97a0a
Fix label deletion ( #1044 )
...
Updated `gam delete labels` to process labels in reverse hierarchial order to avoid deleting a parent label before all of its child labels are deleted.
2019-12-02 10:04:05 -05:00
Ross Scroggs
6e9068c952
Fix race condition/fix rename labels ( #1043 )
...
* Fix race condition
From filelock.py in UnixFileLock
# Do not remove the lockfile:^M
#^M
# https://github.com/benediktschmitt/py-filelock/issues/31 ^M
# https://stackoverflow.com/questions/17708885/flock-removing-locked-file-without-race-condition ^M
* Encode (){} in label: query
2019-11-05 18:08:47 -05:00
Ross Scroggs
84f0296917
Fix multiprocessing imports, check for 32-bit GAM on 64-bit Windows ( #1035 )
...
* Fix multiprocessing imports
* Cleanup multiprocessing imports
* Check for 32-bit GAM on 64-bit Windows
2019-10-21 15:54:13 -04:00
Jay Lee
79c62d86cc
latest google-auth-oauthlib while keeping code_verifier enabled
2019-10-17 13:35:42 -04:00
Jay Lee
083c2f4e9b
hack fix for passlib bug relying on deprecated time.clock on win32
2019-10-17 09:01:22 -04:00
Jay Lee
4607580e6f
fix windir, fork for MacOS
2019-10-16 14:04:19 -04:00
Jay Lee
c9d12e21d8
call freeze_support() unconditionally since it's a NOOP on non-relevant platforms
2019-10-16 11:58:32 -04:00
Ross Scroggs
04b6b0ad76
Allow simplifed versions of GAM_CSV_ROW_FILTER ( #1029 )
...
export GAM_CSV_ROW_FILTER="'suspended:boolean:true', 'suspensionReason:regex:ADMIN'"
export GAM_CSV_ROW_FILTER='{"suspended": "boolean:true", "suspensionReason": "regex:ADMIN"}'
2019-10-13 17:56:49 -04:00
Jay Lee
48ce39a645
Custom scopes for check serviceaccount
2019-10-03 21:37:03 -04:00
Jay Lee
93916d4ed1
remove timeout that caused sporadic failure
2019-10-01 12:44:22 -04:00
Jay Lee
1d1e48acb7
One lock for r/w, cleanup .lock file. Fixes #1011 .
...
Keep lock in place thru read and possible write of oauth2.txt. This
allows only a single process to refresh credentials, others won't see the token
until post-refresh and we avoid multiple refreshes in parallel.
filelock can cleanup after itself on Windows but has to avoid a deadlock on *nix.
Try to cleanup the .lock file for it.
2019-10-01 10:59:46 -04:00
Jay Lee
1884e1a111
file locking for oauth2.txt
2019-09-30 16:18:24 -04:00
Jay Lee
2d0396da21
GAM 4.95, Ross' changes in #1018 , re-enable older Python tests
2019-09-28 12:15:31 -04:00
Ross Scroggs
00b7ead8bb
Standard Got messages to always show total_items ( #1015 )
2019-09-18 08:40:57 -04:00
Ross Scroggs
dce5016261
Add recoveryEmail/Phone to users field list ( #1012 )
2019-09-13 10:33:03 -04:00
Ross Scroggs
2bc759778c
Keep pylint happy ( #1008 )
2019-09-12 18:49:46 -04:00
Jay Lee
3aa6869a4b
fix MacOS vars
2019-09-06 11:21:39 -04:00
Jay Lee
209fdfd5b9
Merge branch 'master' of https://github.com/jay0lee/GAM
2019-09-06 11:15:27 -04:00
Jay Lee
eec0df14b5
MacOS codenames
2019-09-06 11:14:03 -04:00
Ross Scroggs
7e2810d33d
Fix code to avoid trap when description is long ( #1004 )
...
* Fix code to avoid trap when description is long
* Code cleanup
2019-09-06 11:12:42 -04:00
Jay Lee
78404c8cd3
cleanup MacOS
2019-09-06 10:56:22 -04:00
Jay Lee
bcef526213
More recognizable OS info in gam version
2019-09-06 10:44:06 -04:00
Jay Lee
cfd36c2836
GAM 4.94, pull in Ross changes in #1003
2019-08-30 11:45:52 -04:00
Jay Lee
7689ac7bed
disable ssl verify on time sync so we know when clock is WAY off
2019-08-30 11:15:56 -04:00
Jay Lee
7a5ba99b36
Even better SA check
2019-08-30 11:02:42 -04:00
Ross Scroggs
8f4a40bc9a
Add timeoffset option to gam version ( #1002 )
...
* Add timeoffset option to gam version
* Update timeOffset checking
2019-08-29 14:32:45 -04:00
Jay Lee
29db574bc5
Merge branch 'master' of https://github.com/jay0lee/GAM
2019-08-27 10:19:48 -04:00
Jay Lee
caef16bdee
add email scope to SA, check serviceaccount verifies proper DwD and scopes for token
2019-08-27 10:18:36 -04:00
Ross Scroggs
1a0f9ab66a
handle empty recoveryPhone ( #999 )
...
* handle empty recoveryPhone
* Test empty recoveryemail/recoveryphone
* Handle autoUpdateExpiration for CrOS
2019-08-21 15:03:05 -04:00
Ross Scroggs
021c3bfb13
Handle more errors with short URL oauth create ( #998 )
2019-08-18 17:34:55 -04:00
Jay Lee
b3dfa41df6
GAM user agent on short URL
2019-08-15 18:21:54 -04:00
Jay Lee
5f94263db2
Use _createHttpObj() for short URL
2019-08-15 18:15:56 -04:00
Jay Lee
1170457a39
GAM 4.93, remove *MAX_RESULTS config options
2019-08-15 12:35:10 -04:00
Jay Lee
81884e48d0
Support recovery email/phone for users
2019-08-15 12:00:36 -04:00
Jay Lee
a7be6d233b
confirm API call supports maxResults before checking value
2019-08-15 10:08:03 -04:00
Jay Lee
584ddba1a5
Dynamic maxResults from discovery or exception
2019-08-14 16:11:14 -04:00
Jay Lee
2bc6c8bca0
200 or bust for URL shorten
2019-08-13 08:35:06 -04:00
Jay Lee
fc1e81a01d
oauthbrowser.txt, GAM 4.92
2019-08-12 14:02:59 -04:00
Jay Lee
b6bd2da6ce
Short OAuth URLs, make console flow default to reduce issues
2019-08-12 11:00:26 -04:00
Ross Scroggs
413924b11a
Generalize expression to find group settings values ( #994 )
2019-08-12 10:41:17 -04:00
Ross Scroggs
3fc2aeed4d
Fix group settings ( #990 )
...
* 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
2019-08-10 15:37:44 -04:00
Jay Lee
62bceb30c5
GAM 4.90, update mobile adjustments
2019-08-01 11:15:10 -04:00
Jay Lee
8c736e52ac
Empty body no longer required
2019-08-01 10:58:01 -04:00