Skip to content

Commit bad3c46

Browse files
authored
Merge pull request vnpy#3 from noranhe/main
[Add] 类型声明
2 parents 34ce6f8 + 69d49bc commit bad3c46

File tree

4 files changed

+43
-45
lines changed

4 files changed

+43
-45
lines changed

vnpy_excelrtd/__init__.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@
2121
# SOFTWARE.
2222

2323
from pathlib import Path
24+
2425
from vnpy.trader.app import BaseApp
26+
2527
from .engine import RtdEngine, APP_NAME
2628

2729

2830
class ExcelRtdApp(BaseApp):
2931
""""""
30-
app_name = APP_NAME
31-
app_module = __module__
32-
app_path = Path(__file__).parent
33-
display_name = "Excel RTD"
34-
engine_class = RtdEngine
35-
widget_name = "RtdManager"
36-
icon_name = str(app_path.joinpath("ui", "rtd.ico"))
32+
app_name: str = APP_NAME
33+
app_module: str = __module__
34+
app_path: Path = Path(__file__).parent
35+
display_name: str = "Excel RTD"
36+
engine_class: RtdEngine = RtdEngine
37+
widget_name: str = "RtdManager"
38+
icon_name: str = str(app_path.joinpath("ui", "rtd.ico"))

vnpy_excelrtd/engine.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
""""""
2-
3-
from typing import Set
1+
from typing import Set, Optional
42

53
from vnpy.event import Event, EventEngine
64
from vnpy.rpc import RpcServer
75
from vnpy.trader.engine import BaseEngine, MainEngine
8-
from vnpy.trader.object import TickData, LogData, SubscribeRequest
6+
from vnpy.trader.object import TickData, ContractData, LogData, SubscribeRequest
97
from vnpy.trader.event import EVENT_TICK
108

119

@@ -22,7 +20,7 @@ class RtdEngine(BaseEngine):
2220
The engine for managing RTD objects and data update.
2321
"""
2422

25-
def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
23+
def __init__(self, main_engine: MainEngine, event_engine: EventEngine) -> None:
2624
""""""
2725
super().__init__(main_engine, event_engine, APP_NAME)
2826

@@ -52,29 +50,29 @@ def write_log(self, msg: str) -> None:
5250
"""
5351
Output RTD related log message.
5452
"""
55-
log = LogData(msg=msg, gateway_name=APP_NAME)
56-
event = Event(EVENT_RTD_LOG, log)
53+
log: LogData = LogData(msg=msg, gateway_name=APP_NAME)
54+
event: Event = Event(EVENT_RTD_LOG, log)
5755
self.event_engine.put(event)
5856

5957
def subscribe(self, vt_symbol: str) -> None:
6058
"""
6159
Subscribe tick data update.
6260
"""
63-
contract = self.main_engine.get_contract(vt_symbol)
61+
contract: Optional[ContractData] = self.main_engine.get_contract(vt_symbol)
6462
if not contract:
6563
return
6664

6765
if vt_symbol in self.subscribed:
6866
return
6967
self.subscribed.add(vt_symbol)
7068

71-
req = SubscribeRequest(
69+
req: SubscribeRequest = SubscribeRequest(
7270
contract.symbol,
7371
contract.exchange
7472
)
7573
self.main_engine.subscribe(req, contract.gateway_name)
7674

77-
def close(self):
75+
def close(self) -> None:
7876
""""""
7977
self.server.stop()
8078
self.server.join()

vnpy_excelrtd/ui/widget.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44
from vnpy.trader.engine import MainEngine
55
from vnpy.trader.ui import QtWidgets, QtCore
66
from vnpy.trader.object import LogData
7-
from ..engine import APP_NAME, EVENT_RTD_LOG
7+
from ..engine import APP_NAME, EVENT_RTD_LOG, BaseEngine
88

99

1010
class RtdManager(QtWidgets.QWidget):
1111
""""""
12-
signal_log = QtCore.pyqtSignal(Event)
12+
signal_log: QtCore.pyqtSignal = QtCore.pyqtSignal(Event)
1313

14-
def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
14+
def __init__(self, main_engine: MainEngine, event_engine: EventEngine) -> None:
1515
""""""
1616
super().__init__()
1717

18-
self.main_engine = main_engine
19-
self.event_engine = event_engine
20-
self.rm_engine = main_engine.get_engine(APP_NAME)
18+
self.main_engine: MainEngine = main_engine
19+
self.event_engine: EventEngine = event_engine
20+
self.rm_engine: BaseEngine = main_engine.get_engine(APP_NAME)
2121

2222
self.init_ui()
2323
self.register_event()
@@ -29,26 +29,26 @@ def init_ui(self) -> None:
2929
self.setWindowTitle("Excel RTD")
3030
self.resize(600, 600)
3131

32-
module_path = Path(__file__).parent.parent
33-
client_path = module_path.joinpath("vnpy_rtd.py")
34-
self.client_line = QtWidgets.QLineEdit(str(client_path))
32+
module_path: Path = Path(__file__).parent.parent
33+
client_path: Path = module_path.joinpath("vnpy_rtd.py")
34+
self.client_line: QtWidgets.QLineEdit = QtWidgets.QLineEdit(str(client_path))
3535
self.client_line.setReadOnly(True)
3636

37-
copy_button = QtWidgets.QPushButton("复制")
37+
copy_button: QtWidgets.QPushButton = QtWidgets.QPushButton("复制")
3838
copy_button.clicked.connect(self.copy_client_path)
3939

40-
self.log_monitor = QtWidgets.QTextEdit()
40+
self.log_monitor: QtWidgets.QTextEdit = QtWidgets.QTextEdit()
4141
self.log_monitor.setReadOnly(True)
4242

43-
self.port_label = QtWidgets.QLabel(
43+
self.port_label: QtWidgets.QLabel = QtWidgets.QLabel(
4444
"使用Socket端口:请求回应9001、广播推送9002"
4545
)
4646

47-
hbox = QtWidgets.QHBoxLayout()
47+
hbox: QtWidgets.QHBoxLayout = QtWidgets.QHBoxLayout()
4848
hbox.addWidget(self.client_line)
4949
hbox.addWidget(copy_button)
5050

51-
vbox = QtWidgets.QVBoxLayout()
51+
vbox: QtWidgets.QVBoxLayout = QtWidgets.QVBoxLayout()
5252
vbox.addLayout(hbox)
5353
vbox.addWidget(self.log_monitor)
5454
vbox.addWidget(self.port_label)
@@ -68,7 +68,7 @@ def process_log_event(self, event: Event) -> None:
6868
"""
6969
log: LogData = event.data
7070

71-
msg = f"{log.time}: {log.msg}"
71+
msg: str = f"{log.time}: {log.msg}"
7272
self.log_monitor.append(msg)
7373

7474
def copy_client_path(self) -> None:

vnpy_excelrtd/vnpy_rtd.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
""""""
2-
31
from typing import Dict, Set, Any
42
from collections import defaultdict
53

@@ -21,13 +19,13 @@ class ObjectRtd(RTD):
2119
RTD proxy for object in Python.
2220
"""
2321

24-
def __init__(self, engine: "RtdClient", name: str, field: str):
22+
def __init__(self, engine: "RtdClient", name: str, field: str) -> None:
2523
"""Constructor"""
2624
super().__init__(value=0)
2725

28-
self.engine = engine
29-
self.name = name
30-
self.field = field
26+
self.engine: RtdClient = engine
27+
self.name: str = name
28+
self.field: str = field
3129

3230
def connect(self) -> None:
3331
"""
@@ -56,19 +54,19 @@ class RtdClient(RpcClient):
5654
The engine for managing RTD objects and data update.
5755
"""
5856

59-
def __init__(self):
57+
def __init__(self) -> None:
6058
""""""
6159
super().__init__()
6260

6361
self.rtds: Dict[str, Set[ObjectRtd]] = defaultdict(set)
6462

6563
global rtd_client
66-
rtd_client = self
64+
rtd_client: RtdClient = self
6765

6866
def callback(self, topic: str, data: Any) -> None:
6967
""""""
7068
tick: TickData = data
71-
buf = self.rtds[tick.vt_symbol]
69+
buf: Set[ObjectRtd] = self.rtds[tick.vt_symbol]
7270

7371
for rtd in buf:
7472
rtd.update(tick)
@@ -77,7 +75,7 @@ def add_rtd(self, rtd: ObjectRtd) -> None:
7775
"""
7876
Add a new RTD into the engine..
7977
"""
80-
buf = self.rtds[rtd.name]
78+
buf: Set[ObjectRtd] = self.rtds[rtd.name]
8179
buf.add(rtd)
8280
self.write_log(f"新增RTD连接:{rtd.name} {rtd.field}")
8381

@@ -88,7 +86,7 @@ def remove_rtd(self, rtd: ObjectRtd) -> None:
8886
"""
8987
Remove an existing RTD from the engine.
9088
"""
91-
buf = self.rtds[self.name]
89+
buf: Set[ObjectRtd] = self.rtds[self.name]
9290
if self in buf:
9391
buf.remove(rtd)
9492
self.write_log(f"移除RTD连接:{rtd.name} {rtd.field}")
@@ -97,7 +95,7 @@ def remove_rtd(self, rtd: ObjectRtd) -> None:
9795
def init_client() -> None:
9896
"""Initialize vnpy rtd client"""
9997
global rtd_client
100-
rtd_client = RtdClient()
98+
rtd_client: RtdClient = RtdClient()
10199
rtd_client.subscribe_topic("")
102100
rtd_client.start(REQ_ADDRESS, SUB_ADDRESS)
103101

@@ -110,5 +108,5 @@ def rtd_tick_data(vt_symbol: str, field: str) -> ObjectRtd:
110108
if not rtd_client:
111109
init_client()
112110

113-
rtd = ObjectRtd(rtd_client, vt_symbol, field)
111+
rtd: ObjectRtd = ObjectRtd(rtd_client, vt_symbol, field)
114112
return rtd

0 commit comments

Comments
 (0)