@@ -16,103 +16,28 @@ def response_html(self, site = None, header = None):
1616 path_data = []
1717 uid = []
1818 products_data = []
19+ gen_number = []
1920 vehicle_info = None
21+ url_model = {}
2022
2123 #payloads
2224 data = {"filter" : {} }
2325 data2 = {"vin2" :None }
2426
2527 try :
26- # get vehicle manufacturer infos (already prepared)
2728 for brand in self .general :
2829 model_name_url = target_url + "/models/" + brand
2930 response = requests .get (model_name_url )
3031 response .raise_for_status ()
3132 json_data = json .loads (response .content )
32-
3333 model = json_data ["models" ]
34- # get vehicle model name
3534 for i in model :
36- manufacturer .append (i ["manufacturer" ]['slug' ])
3735 model_name .append (i ["path" ])
38- # vehicle_info = {"manufacturer" : i["manufacturer"]['slug'] , "model_name" : model_name}
39- if i ["generationCount" ] == 1 :
40- model_name .remove (i ["path" ])
41- url_model = {"brand" : brand , "models" : model_name }
42- # print(f"brand = {brand}, model_name = {model_name}")
43-
44- # # get vehicle generation infos
45- for m in url_model ["models" ]:
46- generation_select_url = target_url + "generations" + url_model ["brand" ] + "/" + m
47- response = requests .get (generation_select_url )
48- response .raise_for_status ()
49- json_data = json .loads (response .content )
50- generations = json_data ["generations" ]
51- for i in generations :
52- generation_data .append (i ["key" ])
53- # print(generation_data)
54- url_model .update ({"generation" : generation_data })
55- # print(url_model)
56- # === TBD ===
57- # dictionary of vehicle info => {manufactor {model_name{generation_data{ass'y{part}}}}}
58- # vehicle_info.update({"generations": generation_data})
59- # print(vehicle_info)
60- # ===========
61-
62- # ====== for DEBUG =====
63- # generation_filter_url = "https://api.yoshiparts.com/variant-filters-3d/car/toyota/4runner/4runner-gen_4"
64- for generation in url_model ["generation" ]:
65- generation_filter_url = target_url + "variant-filters-3d" + url_model ["brand" ] + m + "/" + generation
66- response = requests .post (generation_filter_url , data = data )
67- response .raise_for_status ()
68- json_data = json .loads (response .content )
69- variants = json_data ['variants' ]
70- # print(len(json_data['variants']))
71- for i in range (len (variants )):
72- path_data .append (variants [i ]['path' ])
73- print (path_data )
74- # =======================
75-
76- # print(path_data)
77- # get uid
78- for path in path_data :
79- diagram_url = target_url + "diagrams-new" + url_model ["brand" ] + "/" + path
80- response = requests .post (diagram_url , data = data )
81- response .raise_for_status ()
82- json_data = json .loads (response .content )
83- diagrams = json_data ["diagrams" ]
84- # print(json_data["diagrams"]["uid"])
85- for i in range (len (diagrams )):
86- for j in range (len (diagrams [i ])):
87- uid .append (diagrams [i ][j ]["uid" ])
88- print (uid )
89- # ==================FOR DEBUG ==================
90- # # response = requests.post("https://api.yoshiparts.com/part-list/car/toyota/4runner/grn280-grn280l_gkagk-gr-1grfe-atm-5fc-lhd/1314261_0", data=data2)
91- # response.raise_for_status()
92- # json_data = json.loads(response.content)
93- # products = json_data["products"]
94- # # diagram = json_data["diagram"]
95- # print(diagram["baseName"])
96- # for i in range(len(products)):
97- # products_data.append({"baseName" : diagram["baseName"], "parts" : {"part_name" : products[i]["name"] , "weight" : products[i]["weight"]}})
98- # ============================================== #
99-
100- # load assembly lists
101- for u in uid :
102- product_url = target_url + "part-list" + self .general + "/4runner" + "/grn280-grn280l_gkagk-gr-1grfe-atm-5fc-lhd" + "/" + u
103- response = requests .post (product_url , data = data2 )
104- response .raise_for_status ()
105- json_data = json .loads (response .content )
106- products = json_data ["products" ]
107- basename = json_data ["diagram" ]["baseName" ]
108- #load product infos
109- for i in range (len (products )):
110- products_data .append ({"baseName" : basename , "parts" : {"part_name" : products [i ]["name" ] , "weight" : products [i ]["weight" ]}})
111- # print(i)
112- print (products_data )
36+ gen_number .append (i ['generationCount' ])
37+ url_model .update ({"manufacturer" : brand , "models" : model_name , "gen_num" : gen_number })
38+
39+ print (url_model ["gen_num" ])
11340 model_name .clear ()
114- generation_data .clear ()
115- path_data .clear ()
11641 return products_data
11742
11843 except requests .exceptions .RequestException as e :
0 commit comments