def get(self, vincode): vinobj = Vin(vincode) if vinobj.is_valid(): res = {"status": "20000000", "message": "ok", "checksum": True} else: res = { "status": "40000000", "message": "bad request", "checksum": False } self.write(json.dumps(res, ensure_ascii=False))
def get(self, vincode): self.set_header("Access-Control-Allow-Origin", "*") self.set_header("Content-Type", "application/json;charset=UTF-8") is_realtime = self.get_argument('is_realtime', False) vinobj = Vin(vincode) if not vinobj.is_valid(): res = { "status": "40000000", "message": "bad request", } self.write(json.dumps(res, ensure_ascii=False)) return results = self.application.mongo.query_vin(vinobj.get_wmi() + vinobj.get_vds()) if results.count() == 0: res = { "status": "40400000", "message": "not found", } if is_realtime: workers = [worker for worker in WORKERS if worker["enable"]] for worker in workers: data = worker["module"].do_task(vinobj.get_vin()) if data: res = { "status": "20000000", "message": "ok", "result": data } self.application.mongo.insert_vin(data) break if res["status"] != "20000000": self.application.rabbitmq.publish(vinobj.get_vin()) self.write(json.dumps(res, ensure_ascii=False)) else: lists = [] for result in results: result.pop("_id") lists.append(result) res = {"status": "20000000", "message": "ok", "result": lists} self.write(json.dumps(res, ensure_ascii=False))
def test_is_valid_04(self): vinobj = Vin("LVSHCAMB1CE05424Q") self.assertEqual(vinobj.is_valid(), False)
def test_is_valid_00(self): vinobj = Vin("LVSHCAMB1CE054249") self.assertEqual(vinobj.is_valid(), True)
def test_get_checksum(self): vinobj = Vin("LVSHCAMB1CE054249") self.assertEqual(vinobj.get_checksum(), '1')
def test_get_year(self): vinobj = Vin("LVSHCAMB1CE054249") self.assertEqual(vinobj.get_year(), 'C')
def test_get_vds(self): vinobj = Vin("LVSHCAMB1CE054249") self.assertEqual(vinobj.get_vds(), 'HCAMB')
def test_get_wmi(self): vinobj = Vin("LVSHCAMB1CE054249") self.assertEqual(vinobj.get_wmi(), 'LVS')