diff --git a/src/gam.py b/src/gam.py index 15bf2a0a..b0866916 100755 --- a/src/gam.py +++ b/src/gam.py @@ -8331,16 +8331,12 @@ def doWhatIs(): doGetAliasInfo(alias_email=email) def convertSKU2ProductId(res, sku, customerId): - subscriptionId = None results = callGAPI(res.subscriptions(), u'list', customerId=customerId) for subscription in results[u'subscriptions']: if sku == subscription[u'skuId']: - subscriptionId = subscription[u'subscriptionId'] - break - if not subscriptionId: - print u'ERROR: could not find subscription for customer %s and SKU %s' % (customerId, sku) - sys.exit(3) - return subscriptionId + return subscription[u'subscriptionId'] + print u'ERROR: could not find subscription for customer %s and SKU %s' % (customerId, sku) + sys.exit(3) def doDeleteResoldSubscription(): res = buildGAPIObject(u'reseller') @@ -8472,41 +8468,24 @@ def doGetResoldCustomer(): print_json(None, result) def _getResoldCustomerAttr(arg): - body = {u'postalAddress': {}} + body = {} customerAuthToken = None i = 0 while i < len(arg): myarg = arg[i].lower().replace(u'_', u'') - if myarg in [u'email', u'alternateemail']: + if myarg in ADDRESS_FIELDS_ARGUMENT_MAP: + body.setdefault(u'postalAddress', {}) + body[u'postalAddress'][ADDRESS_FIELDS_ARGUMENT_MAP[myarg]] = arg[i+1] + elif myarg in [u'email', u'alternateemail']: body[u'alternateEmail'] = arg[i+1] elif myarg in [u'phone', u'phonenumber']: body[u'phoneNumber'] = arg[i+1] - elif myarg in [u'address', u'address1']: - body[u'postalAddress'][u'addressLine1'] = arg[i+1] - elif myarg in [u'address2']: - body[u'postalAddress'][u'addressLine2'] = arg[i+1] - elif myarg in [u'address3']: - body[u'postalAddress'][u'addressLine3'] = arg[i+1] - elif myarg in [u'contact', u'contactname']: - body[u'postalAddress'][u'contactName'] = arg[i+1] - elif myarg in [u'country', u'countrycode']: - body[u'postalAddress'][u'countryCode'] = arg[i+1] - elif myarg in [u'locality', u'city']: - body[u'postalAddress'][u'locality'] = arg[i+1] - elif myarg in [u'name', u'organizationname']: - body[u'postalAddress'][u'organizationName'] = arg[i+1] - elif myarg in [u'postalcode', u'postal']: - body[u'postalAddress'][u'postalCode'] = arg[i+1] - elif myarg in [u'region', u'state']: - body[u'postalAddress'][u'region'] = arg[i+1] elif myarg in [u'customerauthtoken', u'transfertoken']: customerAuthToken = arg[i+1] else: print u'ERROR: %s is not a valid argument for "gam %s resoldcustomer"' % (myarg, sys.argv[1]) sys.exit(3) i += 2 - if not body[u'postalAddress']: - del body[u'postalAddress'] return customerAuthToken, body def doUpdateResoldCustomer(): @@ -11711,7 +11690,7 @@ def ProcessGAMCommand(args): doGetDomainAliasInfo() elif argument in [u'resoldcustomer', u'resellercustomer']: doGetResoldCustomer() - elif argument in [u'resoldsubscriptions', u'resellersubscriptions']: + elif argument in [u'resoldsubscription', u'resoldsubscriptions', u'resellersubscription', u'resellersubscriptions']: doGetResoldSubscriptions() elif argument in [u'matter', u'vaultmatter']: doGetVaultMatterInfo() diff --git a/src/var.py b/src/var.py index d074aced..74fd5382 100644 --- a/src/var.py +++ b/src/var.py @@ -129,12 +129,12 @@ ADDRESS_FIELDS_PRINT_ORDER = [ ADDRESS_FIELDS_ARGUMENT_MAP = { u'contact': u'contactName', u'contactname': u'contactName', u'name': u'organizationName', u'organizationname': u'organizationName', - u'address1': u'addressLine1', u'addressline1': u'addressLine1', + u'address': u'addressLine1', u'address1': u'addressLine1', u'addressline1': u'addressLine1', u'address2': u'addressLine2', u'addressline2': u'addressLine2', u'address3': u'addressLine3', u'addressline3': u'addressLine3', - u'locality': u'locality', - u'region': u'region', - u'postalcode': u'postalCode', + u'city': u'locality', u'locality': u'locality', + u'state': u'region', u'region': u'region', + u'zipcode': u'postalCode', u'postal': u'postalCode', u'postalcode': u'postalCode', u'country': u'countryCode', u'countrycode': u'countryCode', }