From 92cb2dd75ea37b64b174f42ddd0b5b17d6a4634a Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 16 二月 2023 16:04:11 +0800
Subject: [PATCH] H撤策略优化,新增热门板块爬取,新增windows截图工具

---
 trade/trade_gui.py |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/trade/trade_gui.py b/trade/trade_gui.py
index e2f96c5..8139673 100644
--- a/trade/trade_gui.py
+++ b/trade/trade_gui.py
@@ -3,6 +3,7 @@
 """
 
 import array
+import logging
 import threading
 import time
 import random
@@ -760,16 +761,23 @@
         # 鑾峰彇鍙敤鐨勭獥鍙�
         win = cls.__get_available_win()
         if win is None:
+            logger_buy_win_distibute.error(f"鏃犲彲鐢ㄧ獥鍙o細{code}")
             raise Exception("绐楀彛宸茬粡鍒嗛厤瀹屾瘯锛屾棤鍙敤绐楀彛")
         # 淇濆瓨绐楀彛鍒嗛厤淇℃伅
         cls.__save_code_win(code, win)
         # 璁剧疆浠g爜澶氳瘯鍑犳
+        is_success = False
         for i in range(0, 3):
             THSGuiUtil.set_buy_window_code(cls.get_trade_win(win), code)
             time.sleep(0.5)
             code_name_win = cls.__get_code_name(win)
             if code_name == code_name_win:
+                is_success = True
                 break
+        if is_success:
+            logger_buy_win_distibute.info(f"鏂板垎閰嶇獥鍙f垚鍔燂細{code}-{win}")
+        else:
+            logger_buy_win_distibute.info(f"鏂板垎閰嶇獥鍙eけ璐ワ細{code}-{win}")
         return win
 
     # 鍒犻櫎浠g爜绐楀彛鍒嗛厤
@@ -793,6 +801,18 @@
             cls.__del_code_win(code)
             return None
         return win
+
+    # 鑾峰彇宸插垎閰嶇殑浜ゆ槗妗嗕俊鎭�
+    @classmethod
+    def get_distributed_code_wins(cls):
+        key = "buywin_distribute-*"
+        keys = cls.__get_redis().keys(key)
+        results = []
+        for k in keys:
+            code = k.split("-")[-1]
+            win = cls.__get_redis().get(k)
+            results.append((code, win))
+        return results
 
     # 鑾峰彇浠g爜鍚嶇О
     @classmethod
@@ -846,8 +866,11 @@
                     if name_codes.get(code_name) != code:
                         cls.cancel_distribute_win_for_code(code)
                 continue
-            win = cls.distribute_win_for_code(code, gpcode_manager.get_code_name(code))
-            print("鍒嗛厤鐨勭獥鍙�:", win, THSGuiUtil.is_win_exist(win))
+            try:
+                win = cls.distribute_win_for_code(code, gpcode_manager.get_code_name(code))
+                print("鍒嗛厤鐨勭獥鍙�:", win, THSGuiUtil.is_win_exist(win))
+            except Exception as e:
+                logging.exception(e)
 
 
 class GUITest:

--
Gitblit v1.8.0