This commit is contained in:
Jay Lee
2020-03-13 07:37:55 -04:00
6 changed files with 37 additions and 32 deletions

View File

@@ -705,7 +705,7 @@ def readDiscoveryFile(api_version):
def getOauth2TxtStorageCredentials():
oauth_string = fileutils.read_file(GC_Values[GC_OAUTH2_TXT], continue_on_error=True, display_errors=False)
if not oauth_string:
return
return None
oauth_data = json.loads(oauth_string)
creds = google.oauth2.credentials.Credentials.from_authorized_user_file(GC_Values[GC_OAUTH2_TXT])
creds.token = oauth_data.get('token', oauth_data.get('auth_token', ''))
@@ -6047,7 +6047,7 @@ def getUserAttributes(i, cd, updateCmd):
location['area'] = sys.argv[i+1]
i += 2
elif myopt in ['building', 'buildingid']:
location['buildingId'] = gapi.directory.resources.getBuildingByNameOrId(cd, sys.argv[i+1])
location['buildingId'] = gapi.directory.resource.getBuildingByNameOrId(cd, sys.argv[i+1])
i += 2
elif myopt in ['desk', 'deskcode']:
location['deskCode'] = sys.argv[i+1]
@@ -7195,9 +7195,9 @@ def doCreateGroup():
gs_body = dict(list(current_settings.items()) + list(gs_body.items()))
if gs_body:
gapi.call(gs.groups(), 'update', groupUniqueId=body['email'],
body=gs_body,
retry_reasons=[gapi.errors.ErrorReason.SERVICE_LIMIT,
gapi.errors.ErrorReason.NOT_FOUND])
retry_reasons=[gapi.errors.ErrorReason.SERVICE_LIMIT,
gapi.errors.ErrorReason.NOT_FOUND],
body=gs_body)
def doCreateAlias():
cd = buildGAPIObject('directory')
@@ -11401,7 +11401,7 @@ def ProcessGAMCommand(args):
if transferWhat == 'drive':
transferDriveFiles(users)
elif transferWhat == 'seccals':
transferSecCals(users)
gapi.calendar.transferSecCals(users)
else:
controlflow.invalid_argument_exit(transferWhat, "gam <users> transfer")
elif command == 'show':
@@ -11640,7 +11640,7 @@ def ProcessGAMCommand(args):
elif command == 'info':
infoWhat = sys.argv[4].lower()
if infoWhat == 'calendar':
infoCalendar(users)
gapi.calendar.infoCalendar(users)
elif infoWhat in ['filter', 'filters']:
infoFilters(users)
elif infoWhat in ['forwardingaddress', 'forwardingaddresses']:

View File

@@ -1,3 +1,4 @@
import csv
import sys
import uuid
@@ -5,7 +6,9 @@ import uuid
import __main__
from var import *
import controlflow
import display
import fileutils
import gapi
import utils
@@ -124,7 +127,7 @@ def addACL(function):
while i < len(sys.argv):
myarg = sys.argv[i].lower().replace('_', '')
if myarg == 'sendnotifications':
sendNotifications = getBoolean(sys.argv[i+1], myarg)
sendNotifications = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
else:
controlflow.invalid_argument_exit(
@@ -231,7 +234,7 @@ def getSendUpdates(myarg, i, cal):
sendUpdates = 'all'
i += 1
elif myarg == 'sendnotifications':
sendUpdates = 'all' if getBoolean(sys.argv[i+1], myarg) else 'none'
sendUpdates = 'all' if __main__.getBoolean(sys.argv[i+1], myarg) else 'none'
i += 2
else: # 'sendupdates':
sendUpdatesMap = {}
@@ -319,7 +322,7 @@ def addOrUpdateEvent(action):
body = gapi.call(cal.events(), 'get',
calendarId=calendarId, eventId=eventId)
break
sendUpdates, body = getEventAttributes(i, cal, body, action)
sendUpdates, body = getEventAttributes(i, calendarId, cal, body, action)
result = gapi.call(cal.events(), func, conferenceDataVersion=1,
supportsAttachments=True, calendarId=calendarId,
sendUpdates=sendUpdates, body=body, fields='id',
@@ -328,11 +331,11 @@ def addOrUpdateEvent(action):
def _remove_attendee(attendees, remove_email):
return [attendee for attendee in body['attendees']
return [attendee for attendee in attendees
if not attendee['email'].lower() == remove_email]
def getEventAttributes(i, cal, body, action):
def getEventAttributes(i, calendarId, cal, body, action):
# Default to external only so non-Google
# calendars are notified of changes
sendUpdates = 'externalOnly'
@@ -376,7 +379,7 @@ def getEventAttributes(i, cal, body, action):
i += 2
elif myarg == 'end':
if sys.argv[i+1].lower() == 'allday':
body['end'] = {'date': getYYYYMMDD(sys.argv[i+2])}
body['end'] = {'date': __main__.getYYYYMMDD(sys.argv[i+2])}
i += 3
else:
end_time = utils.get_time_or_delta_from_now(sys.argv[i+1])
@@ -642,10 +645,10 @@ def getCalendarAttributes(i, body, function):
while i < len(sys.argv):
myarg = sys.argv[i].lower().replace('_', '')
if myarg == 'selected':
body['selected'] = getBoolean(sys.argv[i+1], myarg)
body['selected'] = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
elif myarg == 'hidden':
body['hidden'] = getBoolean(sys.argv[i+1], myarg)
body['hidden'] = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
elif myarg == 'summary':
body['summaryOverride'] = sys.argv[i+1]
@@ -656,11 +659,11 @@ def getCalendarAttributes(i, body, function):
maxVal=CALENDAR_MAX_COLOR_INDEX)
i += 2
elif myarg == 'backgroundcolor':
body['backgroundColor'] = getColor(sys.argv[i+1])
body['backgroundColor'] = __main__.getColor(sys.argv[i+1])
colorRgbFormat = True
i += 2
elif myarg == 'foregroundcolor':
body['foregroundColor'] = getColor(sys.argv[i+1])
body['foregroundColor'] = __main__.getColor(sys.argv[i+1])
colorRgbFormat = True
i += 2
elif myarg == 'reminder':
@@ -855,7 +858,7 @@ def transferSecCals(users):
remove_source_user = False
i += 1
elif myarg == 'sendnotifications':
sendNotifications = getBoolean(sys.argv[i+1], myarg)
sendNotifications = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
else:
controlflow.invalid_argument_exit(

View File

@@ -743,9 +743,9 @@ def doPrintCrosDevices():
def getCrOSDeviceEntity(i, cd):
myarg = sys.argv[i].lower()
if myarg == 'cros_sn':
return i+2, getUsersToModify('cros_sn', sys.argv[i+1])
return i+2, __main__.getUsersToModify('cros_sn', sys.argv[i+1])
if myarg == 'query':
return i+2, getUsersToModify('crosquery', sys.argv[i+1])
return i+2, __main__.getUsersToModify('crosquery', sys.argv[i+1])
if myarg[:6] == 'query:':
query = sys.argv[i][6:]
if query[:12].lower() == 'orgunitpath:':

View File

@@ -60,7 +60,7 @@ def showReport():
tryDate = utils.get_yyyymmdd(sys.argv[i+1])
i += 2
elif myarg in ['orgunit', 'org', 'ou']:
_, orgUnitId = getOrgUnitId(sys.argv[i+1])
_, orgUnitId = __main__.getOrgUnitId(sys.argv[i+1])
i += 2
elif myarg == 'fulldatarequired':
fullDataRequired = []

View File

@@ -1,4 +1,5 @@
import datetime
import json
import sys
import googleapiclient.http
@@ -9,6 +10,7 @@ import controlflow
import display
import fileutils
import gapi
import storage
import utils
@@ -122,7 +124,7 @@ def createExport():
i += 2
elif searchMethod == 'ORG_UNIT':
body['query']['orgUnitInfo'] = {
'orgUnitId': getOrgUnitId(sys.argv[i+1])[1]}
'orgUnitId': __main__.getOrgUnitId(sys.argv[i+1])[1]}
i += 2
elif searchMethod == 'SHARED_DRIVE':
body['query']['sharedDriveInfo'] = {
@@ -156,7 +158,7 @@ def createExport():
i += 2
elif myarg in ['excludedrafts']:
body['query']['mailOptions'] = {
'excludeDrafts': getBoolean(sys.argv[i+1], myarg)}
'excludeDrafts': __main__.getBoolean(sys.argv[i+1], myarg)}
i += 2
elif myarg in ['driveversiondate']:
body['query'].setdefault('driveOptions', {})['versionDate'] = \
@@ -164,11 +166,11 @@ def createExport():
i += 2
elif myarg in ['includeshareddrives', 'includeteamdrives']:
body['query'].setdefault('driveOptions', {})[
'includeSharedDrives'] = getBoolean(sys.argv[i+1], myarg)
'includeSharedDrives'] = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
elif myarg in ['includerooms']:
body['query']['hangoutsChatOptions'] = {
'includeRooms': getBoolean(sys.argv[i+1], myarg)}
'includeRooms': __main__.getBoolean(sys.argv[i+1], myarg)}
i += 2
elif myarg in ['format']:
export_format = sys.argv[i+1].upper()
@@ -177,7 +179,7 @@ def createExport():
"export format", ", ".join(allowed_formats), export_format)
i += 2
elif myarg in ['showconfidentialmodecontent']:
showConfidentialModeContent = getBoolean(sys.argv[i+1], myarg)
showConfidentialModeContent = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
elif myarg in ['region']:
allowed_regions = gapi.get_enum_values_minus_unspecified(
@@ -190,7 +192,7 @@ def createExport():
i += 2
elif myarg in ['includeaccessinfo']:
body['exportOptions'].setdefault('driveOptions', {})[
'includeAccessInfo'] = getBoolean(sys.argv[i+1], myarg)
'includeAccessInfo'] = __main__.getBoolean(sys.argv[i+1], myarg)
i += 2
else:
controlflow.invalid_argument_exit(sys.argv[i], "gam create export")
@@ -377,7 +379,7 @@ def getHoldInfo():
uid, cd, [account_type])
results['accounts'][i]['email'] = acct_email
if 'orgUnit' in results:
results['orgUnit']['orgUnitPath'] = doGetOrgInfo(
results['orgUnit']['orgUnitPath'] = __main__.doGetOrgInfo(
results['orgUnit']['orgUnitId'], return_attrib='orgUnitPath')
display.print_json(results)
@@ -454,7 +456,7 @@ def updateHold():
query = sys.argv[i+1]
i += 2
elif myarg in ['orgunit', 'ou']:
body['orgUnit'] = {'orgUnitId': getOrgUnitId(sys.argv[i+1])[1]}
body['orgUnit'] = {'orgUnitId': __main__.getOrgUnitId(sys.argv[i+1])[1]}
i += 2
elif myarg in ['start', 'starttime']:
start_time = utils.get_date_zero_time_or_full_time(sys.argv[i+1])
@@ -506,7 +508,7 @@ def updateHold():
cd = __main__.buildGAPIObject('directory')
for account in add_accounts:
print(f'adding {account} to hold.')
add_body = {'accountId': convertEmailAddressToUID(account, cd)}
add_body = {'accountId': __main__.convertEmailAddressToUID(account, cd)}
gapi.call(v.matters().holds().accounts(), 'create',
matterId=matterId, holdId=holdId, body=add_body)
for account in del_accounts:
@@ -586,7 +588,7 @@ def getMatterInfo():
cd = __main__.buildGAPIObject('directory')
for i in range(0, len(result['matterPermissions'])):
uid = f'uid:{result["matterPermissions"][i]["accountId"]}'
user_email = convertUIDtoEmailAddress(uid, cd)
user_email = __main__.convertUIDtoEmailAddress(uid, cd)
result['matterPermissions'][i]['email'] = user_email
display.print_json(result)

View File

@@ -212,7 +212,7 @@ def get_row_filter_date_or_delta_from_now(date_string):
pass
return (False, YYYYMMDD_FORMAT_REQUIRED)
def get_row_filter_date_or_delta_from_now(time_string):
def get_row_filter_time_or_delta_from_now(time_string):
"""Get an ISO 8601 time or a positive/negative delta applied to now.
Args:
time_string (string): The time or delta (e.g. '2017-09-01T12:34:56Z' or '-4h')