@@ -19,21 +19,25 @@ async def get_volkswagen_inventory(
1919 "referer" : "https://www.vw.com/" ,
2020 }
2121
22- inventory_post_data = {
23- "operationName" : "InventoryData" ,
24- "variables" : {
25- "zipcode" : common_params .zip ,
26- "distance" : common_params .radius ,
27- "pageSize" : 1000 ,
28- "pageNumber" : 0 ,
29- "sortBy" : "" ,
30- "filters" : str (
31- {"modelName" : [common_params .model ], "modelYear" : [common_params .year ]}
32- ),
22+ inventory_post_data = (
23+ {
24+ "operationName" : "InventoryData" ,
25+ "variables" : {
26+ "zipcode" : common_params .zip ,
27+ "distance" : common_params .radius ,
28+ "pageSize" : 1000 ,
29+ "pageNumber" : 0 ,
30+ "sortBy" : "" ,
31+ "filters" : str (
32+ {
33+ "modelName" : [common_params .model ],
34+ "modelYear" : [common_params .year ],
35+ }
36+ ),
37+ },
38+ "query" : "query InventoryData($zipcode: String, $distance: Int, $pageSize: Int, $pageNumber: Int, $sortBy: String, $filters: String) { inventory: getPagedInventoryByZipAndDistanceAndFilters( zipcode: $zipcode distance: $distance pageSize: $pageSize pageNumber: $pageNumber sortBy: $sortBy filters: $filters ) { modelYear totalPages totalVehicles vehicles { vin model msrp modelYear exteriorColorDescription factoryExteriorCode interiorColorDescription factoryInteriorCode mpgCity subTrimLevel engineDescription mpgHighway trimLevel onlineSalesURL dealerEnrollmentStatusInd inTransit dealer { dealerid name url distance address1 city state postalcode phone aor __typename } highlightFeatures { code name __typename } __typename } dealers { dealerid name url distance address1 city state postalcode phone aor __typename } aorDealer { dealerid name url distance address1 city state postalcode phone aor __typename } aorVehicle { vin model msrp modelYear exteriorColorDescription factoryExteriorCode interiorColorDescription factoryInteriorCode mpgCity subTrimLevel engineDescription mpgHighway trimLevel onlineSalesURL dealerEnrollmentStatusInd inTransit dealer { dealerid name url distance address1 city state postalcode phone aor __typename } highlightFeatures { code name __typename } __typename } filter { modelName filterAttributes { transmissionType { key value __typename } exteriorColor { key value __typename } interiorColor { key value __typename } modelYear { key value __typename } trimLevel { key value __typename } dealers { key value __typename } models { key value __typename } __typename } __typename } __typename }}" , # noqa: B950
3339 },
34- "query" : "query InventoryData($zipcode: String, $distance: Int, $pageSize: Int, $pageNumber: Int, $sortBy: String, $filters: String) { inventory: getPagedInventoryByZipAndDistanceAndFilters( zipcode: $zipcode distance: $distance pageSize: $pageSize pageNumber: $pageNumber sortBy: $sortBy filters: $filters ) { modelYear totalPages totalVehicles vehicles { vin model msrp modelYear exteriorColorDescription factoryExteriorCode interiorColorDescription factoryInteriorCode mpgCity subTrimLevel engineDescription mpgHighway trimLevel onlineSalesURL dealerEnrollmentStatusInd inTransit dealer { dealerid name url distance address1 address2 city state postalcode phone aor __typename } highlightFeatures { key title __typename } __typename } dealers { dealerid name url distance address1 address2 city state postalcode phone aor __typename } aorDealer { dealerid name url distance address1 address2 city state postalcode phone aor __typename } aorVehicle { vin model msrp modelYear exteriorColorDescription factoryExteriorCode interiorColorDescription factoryInteriorCode mpgCity subTrimLevel engineDescription mpgHighway trimLevel onlineSalesURL dealerEnrollmentStatusInd inTransit dealer { dealerid name url distance address1 address2 city state postalcode phone aor __typename } highlightFeatures { key title __typename } __typename } filter { modelName filterAttributes { transmissionType { key value __typename } exteriorColor { key value __typename } interiorColor { key value __typename } modelYear { key value __typename } trimLevel { key value __typename } dealers { key value __typename } models { key value __typename } __typename } __typename } __typename }}" , # noqa: B950
35- }
36-
40+ )
3741 async with AsyncHTTPClient (
3842 base_url = vw_base_url , timeout_value = 30.0 , verify = verify_ssl
3943 ) as http :
@@ -44,8 +48,8 @@ async def get_volkswagen_inventory(
4448 try :
4549 # If the inventory request was successful, even if 0 vehicles are returned
4650 # the response will have the ['inventory'] dict, so validating that
47- data ["data" ]["inventory" ]
48- return send_response (response_data = data )
51+ data [0 ][ "data" ]["inventory" ]
52+ return send_response (response_data = data [ 0 ] )
4953 except KeyError :
5054 return error_response (
5155 error_message = "An error occurred with the Volkswagen API" ,
@@ -64,22 +68,20 @@ async def get_hyundai_vin_detail(req: Request) -> dict:
6468 "referer" : "https://www.vw.com/" ,
6569 }
6670
67- vin_post_data = (
68- {
69- "operationName" : "VehicleData" ,
70- "variables" : {"vin" : vin , "zipcode" : zip_code },
71- "query" : "query VehicleData($vin: String, $zipcode: String) { vehicle: getVehicleByVinAndZip(vin: $vin, zipcode: $zipcode) { portInstalledOptions vin model modelCode modelYear modelVersion carlineKey msrp mpgCity subTrimLevel engineDescription exteriorColorDescription exteriorColorBaseColor exteriorColorCode exteriorSwatchUrl interiorColorDescription interiorColorBaseColor interiorColorCode interiorSwatchUrl factoryExteriorCode factoryInteriorCode mpgHighway trimLevel mediaAssets { view type url __typename } onlineSalesURL dealerEnrollmentStatusInd highlightFeatures { key title __typename } factoryModelYear dealerInstalledAccessories { mdmCode title longTitle description image itemPrice creativeTitle __typename } dealer { generatedDate dealerid name dealername seolookupkey address1 address2 city state postalcode country url phone latlong staticMapsUrl distance inventoryCount aor isSatellite isAssessing lmaId __typename } specifications { text values { key label longTitle value __typename } key __typename } destinationCharge __typename }}" , # noqa: B950
72- },
73- )
71+ vin_post_data = {
72+ "operationName" : "VehicleData" ,
73+ "variables" : {"vin" : vin , "zipcode" : zip_code },
74+ "query" : "query VehicleData($vin: String, $zipcode: String) { vehicle: getVehicleByVinAndZip(vin: $vin, zipcode: $zipcode) { vin model modelCode modelYear modelVersion carlineKey msrp mpgCity subTrimLevel engineDescription exteriorColorDescription exteriorColorCode interiorColorDescription interiorColorCode factoryExteriorCode factoryInteriorCode mpgHighway trimLevel mediaAssets { view type url __typename } onlineSalesURL dealerEnrollmentStatusInd highlightFeatures { code name __typename } factoryModelYear dealerInstalledAccessories { optionCode optionDescription optionLongDescription price imageUrl __typename } dealer { dealerid name dealername address1 city state postalcode country url phone distance aor __typename } specifications { optionCode optionDescription salesFamily __typename } destinationCharge __typename }}\n " , # noqa: B950
75+ }
7476
7577 async with AsyncHTTPClient (
7678 base_url = vw_base_url , timeout_value = 30.0 , verify = verify_ssl
7779 ) as http :
7880 vin = await http .post (uri = "/" , headers = headers , post_data = vin_post_data )
7981 data = vin .json ()
8082
81- if len (data [0 ][ "data" ]["vehicle" ]) > 0 :
82- return send_response (response_data = data [ 0 ] )
83+ if len (data ["data" ]["vehicle" ]) > 0 :
84+ return send_response (response_data = data )
8385 else :
8486 return error_response (
8587 error_message = "An error occurred with the Volkswagen API" , error_data = data
0 commit comments