async def describe_subnet(ns={}): import aiohttp NETWORK_URL = 'http://cdsapi.capitalonline.net/vpc' action = 'DescribeSubnet' method = "POST" param = {} url = get_signature(action, method, NETWORK_URL, param=param) body = { "RegionCode": ns.get('RegionCode'), "Keyword": ns.get('Keyword'), "PageNumber": int(ns.get('PageNumber')) if ns.get('PageNumber') else 1, "VPCId": ns.get('VPCId'), "AvailableZoneCode": ns.get('AvailableZoneCode') } async with aiohttp.ClientSession() as session: async with session.request(method, url, json=body) as response: resp = await response.text() result = json.loads(resp) if result['Code'] == 'Success': result['status'] = True result.pop('Code') result['data'] = result.pop('Data') if result['data']['Total'] > 0: new_sub_li = [] for sub in result['data']['SubnetList']: if ns['orgid'] in sub['VPCName']: sub['VPCName'] = sub['VPCName'][-7:] new_sub_li.append(sub) result['data']['SubnetList'] = new_sub_li result['data']['Total'] = len(new_sub_li) result['msg'] = result.pop('Message') else: result['status'] = False result['msg'] = result.pop('Message') return result ret = await describe_subnet(params_kw) return ret