mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-23 23:51:36 +00:00
Added option wait <Integer> <Integer> to gam create datatransfer
This commit is contained in:
@@ -3142,7 +3142,7 @@ gam print|show transferapps
|
||||
gam create|add datatransfer|transfer <OldOwnerID> <DataTransferServiceList> <NewOwnerID>
|
||||
[private|shared|all] [release_resources]
|
||||
(<ParameterKey> <ParameterValue>)*
|
||||
|
||||
[wait <Integer> <Integer>]
|
||||
gam info datatransfer|transfer <TransferID>
|
||||
gam print datatransfers|transfers [todrive <ToDriveAttribute>*]
|
||||
[olduser|oldowner <UserItem>] [newuser|newowner <UserItem>]
|
||||
@@ -3363,16 +3363,16 @@ gam show peoplecontacts
|
||||
[allfields|(fields <PeopleFieldNameList>)] [showmetadata]
|
||||
[formatjson]
|
||||
|
||||
gam info people <PeopleResourceNameEntity>
|
||||
gam info people|peopleprofile <PeopleResourceNameEntity>
|
||||
[allfields|(fields <PeopleFieldNameList>)] [showmetadata]
|
||||
[formatjson]
|
||||
gam print people [todrive <ToDriveAttribute>*]
|
||||
gam print people|peopleprofile [todrive <ToDriveAttribute>*]
|
||||
[query <String>]
|
||||
[mergesources <PeopleMergeSourceName>]
|
||||
[coountsonly]
|
||||
[allfields|(fields <PeopleFieldNameList>)] [showmetadata]
|
||||
[formatjson [quotechar <Character>]]
|
||||
gam show people
|
||||
gam show people|peopleprofile
|
||||
[query <String>]
|
||||
[mergesources <PeopleMergeSourceName>]
|
||||
[coountsonly]
|
||||
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
Merged GAM-Team version
|
||||
|
||||
6.67.39
|
||||
|
||||
Added option `wait <Integer> <Integer>` to `gam create datatransfer` that causes GAM to wait
|
||||
for the transfer to complete. The first `<Integer>` must be in the range 5-60 and is the number
|
||||
of seconds between checks to see if the transfer has completed. The second `<Integer>` is the maximum
|
||||
number of checks to perform. By default, GAM does not wait for the transfer to complete.
|
||||
|
||||
6.67.38
|
||||
|
||||
Added option `tdnotify [<Boolean>]` to `<ToDriveAttribute>` that causes GAM to send notification
|
||||
|
||||
@@ -16351,6 +16351,7 @@ PRIVACY_LEVEL_CHOICE_MAP = {
|
||||
|
||||
# gam create datatransfer|transfer <OldOwnerID> <ServiceNameList> <NewOwnerID>
|
||||
# [private|shared|all] [release_resources] (<ParameterKey> <ParameterValue>)*
|
||||
# [wait <Integer> <Integer>]
|
||||
def doCreateDataTransfer():
|
||||
def _assignAppParameter(key, value, doubleBackup=False):
|
||||
keyValid = False
|
||||
@@ -16375,6 +16376,7 @@ def doCreateDataTransfer():
|
||||
body = {'oldOwnerUserId': convertEmailAddressToUID(old_owner)}
|
||||
appIndicies = {}
|
||||
appNameList = []
|
||||
waitInterval = waitRetries = 0
|
||||
i = 0
|
||||
body['applicationDataTransfers'] = []
|
||||
for appName in getString(Cmd.OB_SERVICE_NAME_LIST).split(','):
|
||||
@@ -16395,6 +16397,9 @@ def doCreateDataTransfer():
|
||||
elif myarg == 'releaseresources':
|
||||
if getBoolean():
|
||||
_assignAppParameter('RELEASE_RESOURCES', ['TRUE'])
|
||||
elif myarg == 'wait':
|
||||
waitInterval = getInteger(minVal=5, maxVal=60)
|
||||
waitRetries = getInteger(minVal=0)
|
||||
else:
|
||||
_assignAppParameter(Cmd.Previous().upper(), getString(Cmd.OB_PARAMETER_VALUE).upper().split(','), True)
|
||||
try:
|
||||
@@ -16410,6 +16415,28 @@ def doCreateDataTransfer():
|
||||
printKeyValueList([Msg.FROM, old_owner])
|
||||
printKeyValueList([Msg.TO, new_owner])
|
||||
Ind.Decrement()
|
||||
if waitRetries == 0:
|
||||
return
|
||||
retry = 0
|
||||
status = 'inProgress'
|
||||
dtId = result['id']
|
||||
while True:
|
||||
writeStderr(Ind.Spaces()+Msg.WAITING_FOR_DATA_TRANSFER_TO_COMPLETE_SLEEPING.format(waitInterval))
|
||||
time.sleep(waitInterval)
|
||||
try:
|
||||
result = callGAPI(dt.transfers(), 'get',
|
||||
throwReasons=[GAPI.NOT_FOUND],
|
||||
dataTransferId=dtId, fields='overallTransferStatusCode')
|
||||
if result['overallTransferStatusCode'] == 'completed':
|
||||
status = result['overallTransferStatusCode']
|
||||
break
|
||||
retry += 1
|
||||
if retry >= waitRetries:
|
||||
break
|
||||
except GAPI.notFound:
|
||||
entityActionFailedWarning([Ent.TRANSFER_ID, dtId], Msg.DOES_NOT_EXIST)
|
||||
break
|
||||
printEntity([Ent.TRANSFER_ID, dtId, Ent.STATUS, status])
|
||||
|
||||
def _showTransfer(apps, transfer, i, count):
|
||||
printEntity([Ent.TRANSFER_ID, transfer['id']], i, count)
|
||||
|
||||
Reference in New Issue
Block a user