test.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import asyncio
  2. from logger import logger
  3. from config import Config
  4. from uploadData import upload
  5. from parser import parse_multipart
  6. from parser import parser_json_data
  7. from byteimg import byte2pil, pil2byte, draw
  8. conf = Config.get("test")
  9. url = conf["url"]
  10. classIndex = conf["classIndex"]
  11. nvr = conf["nvr"]
  12. print(url)
  13. async def local_test():
  14. with open("../assert/isapi_data/tfs_0.txt", "r") as f:
  15. multipart_data = eval(f.read())
  16. boundary = b'---------------------------7e13971310878'
  17. result = parse_multipart(multipart_data, boundary)
  18. car_infos, image_contents = parser_json_data(result)
  19. if len(car_infos) != 0:
  20. # with open(f"assert/{index}-tfx.txt", "wb") as f:
  21. # f.write(multipart_data)
  22. logger.info(car_infos)
  23. for info, image_content in zip(car_infos, image_contents):
  24. try:
  25. videoTime = info["dateTime"]
  26. speed = info["VehicleInfo"]["vehicleSpeed"]
  27. plate = info["PlateInfo"]["plate"]
  28. ip_addr = info["ipAddress"]
  29. filename = None
  30. imagedata = None
  31. filename = image_content["filename"]
  32. if filename != "detectionPicture.jpg":
  33. continue
  34. imagedata = image_content["content"]
  35. if imagedata is not None:
  36. # img = byte2pil(imagedata)
  37. # text = f"{plate} : {speed} km/h"
  38. # draw(img, text, (100, 100))
  39. # byte_data = pil2byte(img)
  40. # img.show()
  41. if ip_addr not in conf["ip2channle"]:
  42. logger.info(f"{ip_addr} not in ip2channle")
  43. return
  44. channel = conf["ip2channle"][ip_addr]
  45. res = await upload(url, channel, classIndex, nvr, videoTime, filename, imagedata, plate, speed)
  46. logger.info(res)
  47. except Exception as error:
  48. logger.info(error)
  49. return {"msg": "sucess"}
  50. if __name__ == "__main__":
  51. asyncio.run(local_test())