mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-10 14:43:34 +00:00
More Team Drive Work
This commit is contained in:
49
src/gam.py
49
src/gam.py
@ -3490,7 +3490,7 @@ def delDriveFileACL(users):
|
|||||||
permissionId = callGAPI(drive.permissions(), u'getIdForEmail', email=permissionId, fields=u'id')[u'id']
|
permissionId = callGAPI(drive.permissions(), u'getIdForEmail', email=permissionId, fields=u'id')[u'id']
|
||||||
isEmail = False
|
isEmail = False
|
||||||
print u'Removing permission for %s from %s' % (permissionId, fileId)
|
print u'Removing permission for %s from %s' % (permissionId, fileId)
|
||||||
callGAPI(drive.permissions(), u'delete', fileId=fileId, permissionId=permissionId)
|
callGAPI(drive.permissions(), u'delete', fileId=fileId, permissionId=permissionId, supportsTeamDrives=True)
|
||||||
|
|
||||||
def addDriveFileACL(users):
|
def addDriveFileACL(users):
|
||||||
fileId = sys.argv[5]
|
fileId = sys.argv[5]
|
||||||
@ -3510,8 +3510,8 @@ def addDriveFileACL(users):
|
|||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'role':
|
elif sys.argv[i].lower() == u'role':
|
||||||
body[u'role'] = sys.argv[i+1]
|
body[u'role'] = sys.argv[i+1]
|
||||||
if body[u'role'] not in [u'reader', u'commenter', u'writer', u'owner', u'editor']:
|
if body[u'role'] not in [u'reader', u'commenter', u'writer', u'owner', u'organizer', u'editor']:
|
||||||
print u'ERROR: role must be reader, commenter, writer or owner; got %s' % body[u'role']
|
print u'ERROR: role must be reader, commenter, writer, organizer, or owner; got %s' % body[u'role']
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
if body[u'role'] == u'commenter':
|
if body[u'role'] == u'commenter':
|
||||||
body[u'role'] = u'reader'
|
body[u'role'] = u'reader'
|
||||||
@ -3533,7 +3533,7 @@ def addDriveFileACL(users):
|
|||||||
user, drive = buildDriveGAPIObject(user)
|
user, drive = buildDriveGAPIObject(user)
|
||||||
if not drive:
|
if not drive:
|
||||||
continue
|
continue
|
||||||
result = callGAPI(drive.permissions(), u'insert', fileId=fileId, sendNotificationEmails=sendNotificationEmails, emailMessage=emailMessage, body=body)
|
result = callGAPI(drive.permissions(), u'insert', fileId=fileId, sendNotificationEmails=sendNotificationEmails, emailMessage=emailMessage, body=body, supportsTeamDrives=True)
|
||||||
printPermission(result)
|
printPermission(result)
|
||||||
|
|
||||||
def updateDriveFileACL(users):
|
def updateDriveFileACL(users):
|
||||||
@ -3982,7 +3982,7 @@ def doUpdateDriveFile(users):
|
|||||||
for fileId in fileIdSelection[u'fileIds']:
|
for fileId in fileIdSelection[u'fileIds']:
|
||||||
if media_body:
|
if media_body:
|
||||||
result = callGAPI(drive.files(), u'update',
|
result = callGAPI(drive.files(), u'update',
|
||||||
fileId=fileId, convert=parameters[DFA_CONVERT], ocr=parameters[DFA_OCR], ocrLanguage=parameters[DFA_OCRLANGUAGE], media_body=media_body, body=body, fields=u'id')
|
fileId=fileId, convert=parameters[DFA_CONVERT], ocr=parameters[DFA_OCR], ocrLanguage=parameters[DFA_OCRLANGUAGE], media_body=media_body, body=body, fields=u'id', supportsTeamDrives=True)
|
||||||
print u'Successfully updated %s drive file with content from %s' % (result[u'id'], parameters[DFA_LOCALFILENAME])
|
print u'Successfully updated %s drive file with content from %s' % (result[u'id'], parameters[DFA_LOCALFILENAME])
|
||||||
else:
|
else:
|
||||||
result = callGAPI(drive.files(), u'patch',
|
result = callGAPI(drive.files(), u'patch',
|
||||||
@ -6645,6 +6645,39 @@ def doCreateTeamDrive(users):
|
|||||||
result = callGAPI(drive.teamdrives(), u'create', requestId=requestId, body=body, fields=u'id')
|
result = callGAPI(drive.teamdrives(), u'create', requestId=requestId, body=body, fields=u'id')
|
||||||
print u'Created Team Drive %s with id %s' % (body[u'name'], result[u'id'])
|
print u'Created Team Drive %s with id %s' % (body[u'name'], result[u'id'])
|
||||||
|
|
||||||
|
def doUpdateTeamDrive(users):
|
||||||
|
teamDriveId = sys.argv[5]
|
||||||
|
body = {}
|
||||||
|
i = 6
|
||||||
|
while i < len(sys.argv):
|
||||||
|
if sys.argv[i].lower() == u'name':
|
||||||
|
body[u'name'] = sys.argv[i+1]
|
||||||
|
i += 2
|
||||||
|
else:
|
||||||
|
print u'ERROR: %s is not a valid argument for "gam <users> update drivefile"'
|
||||||
|
sys.exit(3)
|
||||||
|
if not body:
|
||||||
|
print u'ERROR: nothing to update. Need at least a name argument.'
|
||||||
|
print body
|
||||||
|
sys.exit(4)
|
||||||
|
for user in users:
|
||||||
|
drive = buildGAPIServiceObject(u'drive3', user)
|
||||||
|
result = callGAPI(drive.teamdrives(), u'update', body=body, teamDriveId=teamDriveId, fields=u'')
|
||||||
|
print u'Updated Team Drive %s' % (teamDriveId)
|
||||||
|
|
||||||
|
def printShowTeamDrives(users):
|
||||||
|
for user in users:
|
||||||
|
user, drive = buildDrive3GAPIObject(user)
|
||||||
|
results = callGAPIpages(drive.teamdrives(), u'list', items=u'teamDrives', fields=u'*')
|
||||||
|
print_json(None, results)
|
||||||
|
|
||||||
|
def doDeleteTeamDrive(users):
|
||||||
|
teamDriveId = sys.argv[5]
|
||||||
|
for user in users:
|
||||||
|
user, drive = buildDrive3GAPIObject(user)
|
||||||
|
callGAPI(drive.teamdrives(), u'delete', teamDriveId=teamDriveId)
|
||||||
|
print u'Deleted Team Drive %s' % (teamDriveId)
|
||||||
|
|
||||||
def doCreateUser():
|
def doCreateUser():
|
||||||
cd = buildGAPIObject(u'directory')
|
cd = buildGAPIObject(u'directory')
|
||||||
body, admin_body = getUserAttributes(3, cd, updateCmd=False)
|
body, admin_body = getUserAttributes(3, cd, updateCmd=False)
|
||||||
@ -10636,6 +10669,8 @@ def ProcessGAMCommand(args):
|
|||||||
printShowSmime(users, True)
|
printShowSmime(users, True)
|
||||||
elif printWhat in [u'token', u'tokens', u'oauth', u'3lo']:
|
elif printWhat in [u'token', u'tokens', u'oauth', u'3lo']:
|
||||||
printShowTokens(5, u'users', users, True)
|
printShowTokens(5, u'users', users, True)
|
||||||
|
elif printWhat in [u'teamdrive', u'teamdrives']:
|
||||||
|
printShowTeamDrives(users)
|
||||||
else:
|
else:
|
||||||
print u'ERROR: %s is not a valid argument for "gam <users> print"' % printWhat
|
print u'ERROR: %s is not a valid argument for "gam <users> print"' % printWhat
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
@ -10706,6 +10741,8 @@ def ProcessGAMCommand(args):
|
|||||||
deleteSendAs(users)
|
deleteSendAs(users)
|
||||||
elif delWhat == u'smime':
|
elif delWhat == u'smime':
|
||||||
deleteSmime(users)
|
deleteSmime(users)
|
||||||
|
elif delWhat == u'teamdrive':
|
||||||
|
doDeleteTeamDrive(users)
|
||||||
else:
|
else:
|
||||||
print u'ERROR: %s is not a valid argument for "gam <users> delete"' % delWhat
|
print u'ERROR: %s is not a valid argument for "gam <users> delete"' % delWhat
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
@ -10762,6 +10799,8 @@ def ProcessGAMCommand(args):
|
|||||||
addUpdateSendAs(users, 5, False)
|
addUpdateSendAs(users, 5, False)
|
||||||
elif updateWhat == u'smime':
|
elif updateWhat == u'smime':
|
||||||
updateSmime(users)
|
updateSmime(users)
|
||||||
|
elif updateWhat == u'teamdrive':
|
||||||
|
doUpdateTeamDrive(users)
|
||||||
else:
|
else:
|
||||||
print u'ERROR: %s is not a valid argument for "gam <users> update"' % updateWhat
|
print u'ERROR: %s is not a valid argument for "gam <users> update"' % updateWhat
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
Reference in New Issue
Block a user