Skip to content

Commit 61830d2

Browse files
authored
Merge pull request #7 from noranhe/main
[Add] 类型声明
2 parents d8d34d5 + eba3ee5 commit 61830d2

File tree

3 files changed

+133
-132
lines changed

3 files changed

+133
-132
lines changed

vnpy_datamanager/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
class DataManagerApp(BaseApp):
3838
""""""
3939

40-
app_name = APP_NAME
41-
app_module = __module__
42-
app_path = Path(__file__).parent
43-
display_name = "数据管理"
44-
engine_class = ManagerEngine
45-
widget_name = "ManagerWidget"
46-
icon_name = str(app_path.joinpath("ui", "manager.ico"))
40+
app_name: str = APP_NAME
41+
app_module: str = __module__
42+
app_path: Path = Path(__file__).parent
43+
display_name: str = "数据管理"
44+
engine_class: ManagerEngine = ManagerEngine
45+
widget_name: str = "ManagerWidget"
46+
icon_name: str = str(app_path.joinpath("ui", "manager.ico"))

vnpy_datamanager/engine.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import csv
22
from datetime import datetime
3-
from typing import List, Tuple
3+
from typing import List, Optional
44

55
from vnpy.trader.engine import BaseEngine, MainEngine, EventEngine
66
from vnpy.trader.constant import Interval, Exchange
7-
from vnpy.trader.object import BarData, HistoryRequest
7+
from vnpy.trader.object import BarData, TickData, ContractData, HistoryRequest
88
from vnpy.trader.database import BaseDatabase, get_database, BarOverview, DB_TZ
99
from vnpy.trader.datafeed import BaseDatafeed, get_datafeed
1010
from vnpy.trader.utility import ZoneInfo
@@ -19,7 +19,7 @@ def __init__(
1919
self,
2020
main_engine: MainEngine,
2121
event_engine: EventEngine,
22-
):
22+
) -> None:
2323
""""""
2424
super().__init__(main_engine, event_engine, APP_NAME)
2525

@@ -42,29 +42,29 @@ def import_data_from_csv(
4242
turnover_head: str,
4343
open_interest_head: str,
4444
datetime_format: str
45-
) -> Tuple:
45+
) -> tuple:
4646
""""""
4747
with open(file_path, "rt") as f:
48-
buf = [line.replace("\0", "") for line in f]
48+
buf: list = [line.replace("\0", "") for line in f]
4949

50-
reader = csv.DictReader(buf, delimiter=",")
50+
reader: csv.DictReader = csv.DictReader(buf, delimiter=",")
5151

52-
bars = []
53-
start = None
54-
count = 0
52+
bars: List[BarData] = []
53+
start: datetime = None
54+
count: int = 0
5555
tz = ZoneInfo(tz_name)
5656

5757
for item in reader:
5858
if datetime_format:
59-
dt = datetime.strptime(item[datetime_head], datetime_format)
59+
dt: datetime = datetime.strptime(item[datetime_head], datetime_format)
6060
else:
61-
dt = datetime.fromisoformat(item[datetime_head])
61+
dt: datetime = datetime.fromisoformat(item[datetime_head])
6262
dt = dt.replace(tzinfo=tz)
6363

6464
turnover = item.get(turnover_head, 0)
6565
open_interest = item.get(open_interest_head, 0)
6666

67-
bar = BarData(
67+
bar: BarData = BarData(
6868
symbol=symbol,
6969
exchange=exchange,
7070
datetime=dt,
@@ -86,7 +86,7 @@ def import_data_from_csv(
8686
if not start:
8787
start = bar.datetime
8888

89-
end = bar.datetime
89+
end: datetime = bar.datetime
9090

9191
# insert into database
9292
self.database.save_bar_data(bars)
@@ -103,9 +103,9 @@ def output_data_to_csv(
103103
end: datetime
104104
) -> bool:
105105
""""""
106-
bars = self.load_bar_data(symbol, exchange, interval, start, end)
106+
bars: List[BarData] = self.load_bar_data(symbol, exchange, interval, start, end)
107107

108-
fieldnames = [
108+
fieldnames: list = [
109109
"symbol",
110110
"exchange",
111111
"datetime",
@@ -120,11 +120,11 @@ def output_data_to_csv(
120120

121121
try:
122122
with open(file_path, "w") as f:
123-
writer = csv.DictWriter(f, fieldnames=fieldnames, lineterminator="\n")
123+
writer: csv.DictWriter = csv.DictWriter(f, fieldnames=fieldnames, lineterminator="\n")
124124
writer.writeheader()
125125

126126
for bar in bars:
127-
d = {
127+
d: dict = {
128128
"symbol": bar.symbol,
129129
"exchange": bar.exchange.value,
130130
"datetime": bar.datetime.strftime("%Y-%m-%d %H:%M:%S"),
@@ -155,7 +155,7 @@ def load_bar_data(
155155
end: datetime
156156
) -> List[BarData]:
157157
""""""
158-
bars = self.database.load_bar_data(
158+
bars: List[BarData] = self.database.load_bar_data(
159159
symbol,
160160
exchange,
161161
interval,
@@ -172,7 +172,7 @@ def delete_bar_data(
172172
interval: Interval
173173
) -> int:
174174
""""""
175-
count = self.database.delete_bar_data(
175+
count: int = self.database.delete_bar_data(
176176
symbol,
177177
exchange,
178178
interval
@@ -190,25 +190,25 @@ def download_bar_data(
190190
"""
191191
Query bar data from datafeed.
192192
"""
193-
req = HistoryRequest(
193+
req: HistoryRequest = HistoryRequest(
194194
symbol=symbol,
195195
exchange=exchange,
196196
interval=Interval(interval),
197197
start=start,
198198
end=datetime.now(DB_TZ)
199199
)
200200

201-
vt_symbol = f"{symbol}.{exchange.value}"
202-
contract = self.main_engine.get_contract(vt_symbol)
201+
vt_symbol: str = f"{symbol}.{exchange.value}"
202+
contract: Optional[ContractData] = self.main_engine.get_contract(vt_symbol)
203203

204204
# If history data provided in gateway, then query
205205
if contract and contract.history_data:
206-
data = self.main_engine.query_history(
206+
data: List[BarData] = self.main_engine.query_history(
207207
req, contract.gateway_name
208208
)
209209
# Otherwise use datafeed to query data
210210
else:
211-
data = self.datafeed.query_bar_history(req)
211+
data: List[BarData] = self.datafeed.query_bar_history(req)
212212

213213
if data:
214214
self.database.save_bar_data(data)
@@ -225,14 +225,14 @@ def download_tick_data(
225225
"""
226226
Query tick data from datafeed.
227227
"""
228-
req = HistoryRequest(
228+
req: HistoryRequest = HistoryRequest(
229229
symbol=symbol,
230230
exchange=exchange,
231231
start=start,
232232
end=datetime.now(DB_TZ)
233233
)
234234

235-
data = self.datafeed.query_tick_history(req)
235+
data: List[TickData] = self.datafeed.query_tick_history(req)
236236

237237
if data:
238238
self.database.save_tick_data(data)

0 commit comments

Comments
 (0)