From 8535f56dbf6e410b4a09f02f95d4d49bcc8753f2 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 27 三月 2023 18:58:54 +0800 Subject: [PATCH] 看盘页面数据调整 --- ocr/ocr_server.py | 55 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 39 insertions(+), 16 deletions(-) diff --git a/ocr/ocr_server.py b/ocr/ocr_server.py index 433a44b..2babf65 100644 --- a/ocr/ocr_server.py +++ b/ocr/ocr_server.py @@ -1,3 +1,4 @@ +import base64 import json import logging import socketserver @@ -7,6 +8,8 @@ import ths_industry_util from ocr import ocr_util from ocr.ocr_util import OcrUtil +from third_data import kpl_util +from trade import bidding_money_manager class OCRServer(BaseHTTPRequestHandler): @@ -32,11 +35,14 @@ try: data = "" try: - data = json.loads(_str) - except: + if type(_str) == str: + data = json.loads(_str) + else: + data = _str + except Exception as e1: raise Exception("json瑙f瀽澶辫触") - type = data["type"] - if type == 100: + _type = data["type"] + if _type == 100: data = data["data"] matId = data["matId"] index = data["index"] @@ -68,7 +74,7 @@ return_str = json.dumps({"code": 2, "msg": "鏁版嵁鍑洪敊"}) else: return_str = json.dumps({"code": 1, "msg": "鏁版嵁灏氭湭涓婁紶瀹�"}) - elif type == 101: + elif _type == 101: data = data["data"] matId = data["matId"] index = data["index"] @@ -101,6 +107,15 @@ return_str = json.dumps({"code": 2, "msg": "鏁版嵁鍑洪敊"}) else: return_str = json.dumps({"code": 1, "msg": "鏁版嵁灏氭湭涓婁紶瀹�"}) + elif _type == 201: + imgdata = base64.b64decode(data["img"]) + results = ocr_util.OcrUtil.easy_ocr(imgdata) + print(results) + kpl_datas = kpl_util.parse_kpl_datas(results) + if kpl_datas: + bidding_money_manager.set_bidding_money(kpl_datas) + with open("D:/kpl.png", mode="wb") as f: + f.write(imgdata) except Exception as e: logging.exception(e) if str(e).__contains__("json瑙f瀽澶辫触"): @@ -120,18 +135,21 @@ datas = self.rfile.read(int(self.headers['content-length'])) _str = str(datas, encoding="gbk") # print(_str) - start = 0 - while True: - start = _str.find("Content-Disposition: form-data;", start + 1) - if start <= 0: - break - name_start = start + len("Content-Disposition: form-data;") - name_end = _str.find("\r\n\r\n", start) + if _str.find("Content-Disposition: form-data;") > -1: + start = 0 + while True: + start = _str.find("Content-Disposition: form-data;", start + 1) + if start <= 0: + break + name_start = start + len("Content-Disposition: form-data;") + name_end = _str.find("\r\n\r\n", start) - val_end = _str.find("------", name_end) - key = _str[name_start:name_end].strip()[6:-1] - val = _str[name_end:val_end].strip() - params[key] = val + val_end = _str.find("------", name_end) + key = _str[name_start:name_end].strip()[6:-1] + val = _str[name_end:val_end].strip() + params[key] = val + else: + params = json.loads(_str) return params @@ -140,3 +158,8 @@ httpd = socketserver.TCPServer((addr, port), handler) print("HTTP server is at: http://%s:%d/" % (addr, port)) httpd.serve_forever() + + +if __name__ == "__main__": + str_={"id":"123"} + print(type(str_)==str) \ No newline at end of file -- Gitblit v1.8.0