mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
Clan up App ID handling (#296)
Drop Google+ in name to id direction, transfers no longer supported Keep Google+ in id to name direction for printing old transfers Show real app name to user Don't bail on unknown app ID from Google, keep going by using 'applicationId: ####' as name
This commit is contained in:
28
src/gam.py
28
src/gam.py
@@ -1918,10 +1918,7 @@ def user_from_userid(userid):
|
|||||||
buildUserIdToNameMap()
|
buildUserIdToNameMap()
|
||||||
return GM_Globals[GM_MAP_USER_ID_TO_NAME].get(userid, u'')
|
return GM_Globals[GM_MAP_USER_ID_TO_NAME].get(userid, u'')
|
||||||
|
|
||||||
SERVICE_NAME_TO_ID_MAP = {
|
SERVICE_NAME_TO_ID_MAP = {u'Drive and Docs': u'55656082996', u'Google+': u'553547912911',}
|
||||||
u'Drive': u'55656082996',
|
|
||||||
u'Google+': u'553547912911',
|
|
||||||
}
|
|
||||||
|
|
||||||
def appID2app(dt, appID):
|
def appID2app(dt, appID):
|
||||||
for serviceName, serviceID in SERVICE_NAME_TO_ID_MAP.items():
|
for serviceName, serviceID in SERVICE_NAME_TO_ID_MAP.items():
|
||||||
@@ -1931,26 +1928,23 @@ def appID2app(dt, appID):
|
|||||||
for online_service in online_services:
|
for online_service in online_services:
|
||||||
if appID == online_service[u'id']:
|
if appID == online_service[u'id']:
|
||||||
return online_service[u'name']
|
return online_service[u'name']
|
||||||
print u'ERROR: %s is not a valid app ID for data transfer.' % appID
|
return u'applicationId: {0}'.format(appID)
|
||||||
sys.exit(2)
|
|
||||||
|
|
||||||
SERVICE_NAME_CHOICES_MAP = {
|
SERVICE_NAME_CHOICES_MAP = {
|
||||||
u'googleplus': u'Google+',
|
u'drive': u'Drive and Docs',
|
||||||
u'gplus': u'Google+',
|
u'drive and docs': u'Drive and Docs',
|
||||||
u'g+': u'Google+',
|
u'googledrive': u'Drive and Docs',
|
||||||
u'drive': u'Drive',
|
u'gdrive': u'Drive and Docs',
|
||||||
u'googledrive': u'Drive',
|
|
||||||
u'gdrive': u'Drive',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def app2appID(dt, app):
|
def app2appID(dt, app):
|
||||||
serviceName = app.lower()
|
serviceName = app.lower()
|
||||||
if serviceName in SERVICE_NAME_CHOICES_MAP:
|
if serviceName in SERVICE_NAME_CHOICES_MAP:
|
||||||
return SERVICE_NAME_TO_ID_MAP[SERVICE_NAME_CHOICES_MAP[serviceName]]
|
return (SERVICE_NAME_CHOICES_MAP[serviceName], SERVICE_NAME_TO_ID_MAP[SERVICE_NAME_CHOICES_MAP[serviceName]])
|
||||||
online_services = callGAPIpages(dt.applications(), u'list', u'applications', customerId=GC_Values[GC_CUSTOMER_ID])
|
online_services = callGAPIpages(dt.applications(), u'list', u'applications', customerId=GC_Values[GC_CUSTOMER_ID])
|
||||||
for online_service in online_services:
|
for online_service in online_services:
|
||||||
if serviceName == online_service[u'name'].lower():
|
if serviceName == online_service[u'name'].lower():
|
||||||
return online_service[u'id']
|
return (online_service[u'name'], online_service[u'id'])
|
||||||
print u'ERROR: %s is not a valid service for data transfer.' % app
|
print u'ERROR: %s is not a valid service for data transfer.' % app
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
@@ -1978,7 +1972,7 @@ def doCreateDataTranfer():
|
|||||||
body = {}
|
body = {}
|
||||||
old_owner = sys.argv[3]
|
old_owner = sys.argv[3]
|
||||||
body[u'oldOwnerUserId'] = convertToUserID(old_owner)
|
body[u'oldOwnerUserId'] = convertToUserID(old_owner)
|
||||||
service = sys.argv[4]
|
serviceName, serviceID = app2appID(dt, sys.argv[4])
|
||||||
new_owner = sys.argv[5]
|
new_owner = sys.argv[5]
|
||||||
body[u'newOwnerUserId'] = convertToUserID(new_owner)
|
body[u'newOwnerUserId'] = convertToUserID(new_owner)
|
||||||
parameters = {}
|
parameters = {}
|
||||||
@@ -1986,13 +1980,13 @@ def doCreateDataTranfer():
|
|||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
parameters[sys.argv[i].upper()] = sys.argv[i+1].upper().split(u',')
|
parameters[sys.argv[i].upper()] = sys.argv[i+1].upper().split(u',')
|
||||||
i += 2
|
i += 2
|
||||||
body[u'applicationDataTransfers'] = [{u'applicationId': app2appID(dt, service)}]
|
body[u'applicationDataTransfers'] = [{u'applicationId': serviceID}]
|
||||||
for key in parameters:
|
for key in parameters:
|
||||||
if u'applicationDataTransferParams' not in body[u'applicationDataTransfers'][0]:
|
if u'applicationDataTransferParams' not in body[u'applicationDataTransfers'][0]:
|
||||||
body[u'applicationDataTransfers'][0][u'applicationTransferParams'] = []
|
body[u'applicationDataTransfers'][0][u'applicationTransferParams'] = []
|
||||||
body[u'applicationDataTransfers'][0][u'applicationTransferParams'].append({u'key': key, u'value': parameters[key]})
|
body[u'applicationDataTransfers'][0][u'applicationTransferParams'].append({u'key': key, u'value': parameters[key]})
|
||||||
result = callGAPI(dt.transfers(), u'insert', body=body, fields=u'id')[u'id']
|
result = callGAPI(dt.transfers(), u'insert', body=body, fields=u'id')[u'id']
|
||||||
print u'Submitted request id %s to transfer %s from %s to %s' % (result, service, old_owner, new_owner)
|
print u'Submitted request id %s to transfer %s from %s to %s' % (result, serviceName, old_owner, new_owner)
|
||||||
|
|
||||||
def doPrintTransferApps():
|
def doPrintTransferApps():
|
||||||
dt = buildGAPIObject(u'datatransfer')
|
dt = buildGAPIObject(u'datatransfer')
|
||||||
|
|||||||
Reference in New Issue
Block a user