Skip to content

Commit 1b1b29e

Browse files
committed
some api support language param
1 parent b61f7d0 commit 1b1b29e

File tree

6 files changed

+89
-57
lines changed

6 files changed

+89
-57
lines changed

tigeropen/common/model.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
#
33
# @Date : 2021/11/12
44
# @Author : sukai
5+
from tigeropen.common.util.common_utils import get_enum_value
6+
57

68
class BaseParams:
79
def __init__(self):
810
self._version = None # api版本
11+
self._lang = None # language
912

1013
@property
1114
def version(self):
@@ -14,3 +17,19 @@ def version(self):
1417
@version.setter
1518
def version(self, value):
1619
self._version = value
20+
21+
@property
22+
def lang(self):
23+
return self._lang
24+
25+
@lang.setter
26+
def lang(self, value):
27+
self._lang = value
28+
29+
def to_openapi_dict(self):
30+
params = dict()
31+
if self.lang:
32+
params['lang'] = self.lang
33+
if self.version:
34+
params['version'] = self.version
35+
return params

tigeropen/fundamental/request/model.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def end_date(self, value):
6161
self._end_date = value
6262

6363
def to_openapi_dict(self):
64-
params = dict()
64+
params = super().to_openapi_dict()
6565

6666
if self.symbols:
6767
params['symbols'] = self.symbols
@@ -125,7 +125,7 @@ def period_type(self, value):
125125
self._period_type = value
126126

127127
def to_openapi_dict(self):
128-
params = dict()
128+
params = super().to_openapi_dict()
129129

130130
if self.symbols:
131131
params['symbols'] = self.symbols
@@ -192,7 +192,7 @@ def end_date(self, value):
192192
self._end_date = value
193193

194194
def to_openapi_dict(self):
195-
params = dict()
195+
params = super().to_openapi_dict()
196196

197197
if self.symbols:
198198
params['symbols'] = self.symbols
@@ -253,7 +253,7 @@ def symbol(self, value):
253253
self._symbol = value
254254

255255
def to_openapi_dict(self):
256-
params = dict()
256+
params = super().to_openapi_dict()
257257

258258
if self.industry_level:
259259
params['industry_level'] = self.industry_level

tigeropen/quote/quote_client.py

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
from tigeropen.quote.response.symbols_response import SymbolsResponse
6767
from tigeropen.quote.response.trading_calendar_response import TradingCalendarResponse
6868
from tigeropen.tiger_open_client import TigerOpenClient
69+
from tigeropen.tiger_open_config import LANGUAGE
6970

7071

7172
class QuoteClient(TigerOpenClient):
@@ -77,7 +78,7 @@ def __init__(self, client_config, logger=None, is_grab_permission=True):
7778
if client_config:
7879
self._lang = client_config.language
7980
else:
80-
self._lang = Language.zh_CN
81+
self._lang = LANGUAGE
8182
self.permissions = None
8283
if is_grab_permission and self.permissions is None:
8384
self.permissions = self.grab_quote_permission()
@@ -125,7 +126,7 @@ def get_symbols(self, market=Market.ALL):
125126
"""
126127
params = MarketParams()
127128
params.market = get_enum_value(market)
128-
129+
params.lang = get_enum_value(self._lang)
129130
request = OpenApiRequest(ALL_SYMBOLS, biz_model=params)
130131
response_content = self.__fetch_data(request)
131132
if response_content:
@@ -173,7 +174,7 @@ def get_trade_metas(self, symbols):
173174
"""
174175
params = MultipleQuoteParams()
175176
params.symbols = symbols
176-
177+
params.lang = get_enum_value(self._lang)
177178
request = OpenApiRequest(QUOTE_STOCK_TRADE, biz_model=params)
178179
response_content = self.__fetch_data(request)
179180
if response_content:
@@ -390,7 +391,7 @@ def get_timeline_history(self, symbols, date, right=QuoteRight.BR):
390391
params.symbols = symbols
391392
params.date = date
392393
params.right = get_enum_value(right)
393-
394+
params.lang = get_enum_value(self._lang)
394395
request = OpenApiRequest(HISTORY_TIMELINE, biz_model=params)
395396
response_content = self.__fetch_data(request)
396397
if response_content:
@@ -582,7 +583,7 @@ def get_depth_quote(self, symbols, market):
582583
params = DepthQuoteParams()
583584
params.symbols = symbols if isinstance(symbols, list) else [symbols]
584585
params.market = get_enum_value(market)
585-
586+
params.lang = get_enum_value(self._lang)
586587
request = OpenApiRequest(QUOTE_DEPTH, biz_model=params)
587588
response_content = self.__fetch_data(request)
588589
if response_content:
@@ -604,7 +605,7 @@ def get_option_expirations(self, symbols):
604605
"""
605606
params = MultipleQuoteParams()
606607
params.symbols = symbols
607-
608+
params.lang = get_enum_value(self._lang)
608609
request = OpenApiRequest(OPTION_EXPIRATION, biz_model=params)
609610
response_content = self.__fetch_data(request)
610611
if response_content:
@@ -650,6 +651,7 @@ def get_option_chain(self, symbol, expiry, option_filter=None, **kwargs):
650651
param.expiry = expiry
651652
params.contracts = [param]
652653
params.option_filter = option_filter if option_filter else OptionFilter(**kwargs)
654+
params.lang = get_enum_value(self._lang)
653655
params.version = OPEN_API_SERVICE_VERSION_V3
654656
request = OpenApiRequest(OPTION_CHAIN, biz_model=params)
655657
response_content = self.__fetch_data(request)
@@ -700,9 +702,9 @@ def get_option_briefs(self, identifiers):
700702
param.expiry = int(delorean.parse(expiry, timezone=eastern, dayfirst=False).datetime.timestamp() * 1000)
701703
param.put_call = put_call
702704
param.strike = strike
705+
params.lang = get_enum_value(self._lang)
703706
contracts.append(param)
704707
params.contracts = contracts
705-
706708
request = OpenApiRequest(OPTION_BRIEF, biz_model=params)
707709
response_content = self.__fetch_data(request)
708710
if response_content:
@@ -748,9 +750,9 @@ def get_option_bars(self, identifiers, begin_time=-1, end_time=4070880000000):
748750
param.period = BarPeriod.DAY.value
749751
param.begin_time = begin_time
750752
param.end_time = end_time
753+
params.lang = get_enum_value(self._lang)
751754
contracts.append(param)
752755
params.contracts = contracts
753-
754756
request = OpenApiRequest(OPTION_KLINE, biz_model=params)
755757
response_content = self.__fetch_data(request)
756758
if response_content:
@@ -785,9 +787,10 @@ def get_option_trade_ticks(self, identifiers):
785787
param.expiry = int(delorean.parse(expiry, timezone=eastern, dayfirst=False).datetime.timestamp() * 1000)
786788
param.put_call = put_call
787789
param.strike = strike
790+
params.lang = get_enum_value(self._lang)
788791
contracts.append(param)
789792
params.contracts = contracts
790-
793+
params.lang = get_enum_value(self._lang)
791794
request = OpenApiRequest(OPTION_TRADE_TICK, biz_model=params)
792795
response_content = self.__fetch_data(request)
793796
if response_content:
@@ -927,7 +930,7 @@ def get_future_trading_times(self, identifier, trading_date=None):
927930
params = FutureTradingTimeParams()
928931
params.contract_code = identifier
929932
params.trading_date = trading_date
930-
933+
params.lang = get_enum_value(self._lang)
931934
request = OpenApiRequest(FUTURE_TRADING_DATE, biz_model=params)
932935
response_content = self.__fetch_data(request)
933936
if response_content:
@@ -969,7 +972,7 @@ def get_future_bars(self, identifiers, period=BarPeriod.DAY, begin_time=-1, end_
969972
params.end_time = end_time
970973
params.limit = limit
971974
params.page_token = page_token if len(params.contract_codes) == 1 else None
972-
975+
params.lang = get_enum_value(self._lang)
973976
request = OpenApiRequest(FUTURE_KLINE, biz_model=params)
974977
response_content = self.__fetch_data(request)
975978
if response_content:
@@ -1031,7 +1034,7 @@ def get_future_trade_ticks(self, identifiers, begin_index=0, end_index=30, limit
10311034
params.begin_index = begin_index
10321035
params.end_index = end_index
10331036
params.limit = limit
1034-
1037+
params.lang = get_enum_value(self._lang)
10351038
request = OpenApiRequest(FUTURE_TICK, biz_model=params)
10361039
response_content = self.__fetch_data(request)
10371040
if response_content:
@@ -1066,7 +1069,7 @@ def get_future_brief(self, identifiers):
10661069
"""
10671070
params = FutureQuoteParams()
10681071
params.contract_codes = identifiers
1069-
1072+
params.lang = get_enum_value(self._lang)
10701073
request = OpenApiRequest(FUTURE_REAL_TIME_QUOTE, biz_model=params)
10711074
response_content = self.__fetch_data(request)
10721075
if response_content:
@@ -1101,7 +1104,7 @@ def get_corporate_split(self, symbols, market, begin_date, end_date):
11011104
params.market = get_enum_value(market)
11021105
params.begin_date = begin_date
11031106
params.end_date = end_date
1104-
1107+
params.lang = get_enum_value(self._lang)
11051108
request = OpenApiRequest(CORPORATE_ACTION, biz_model=params)
11061109
response_content = self.__fetch_data(request)
11071110
if response_content:
@@ -1138,7 +1141,7 @@ def get_corporate_dividend(self, symbols, market, begin_date, end_date):
11381141
params.market = get_enum_value(market)
11391142
params.begin_date = begin_date
11401143
params.end_date = end_date
1141-
1144+
params.lang = get_enum_value(self._lang)
11421145
request = OpenApiRequest(CORPORATE_ACTION, biz_model=params)
11431146
response_content = self.__fetch_data(request)
11441147
if response_content:
@@ -1162,7 +1165,7 @@ def get_corporate_earnings_calendar(self, market, begin_date, end_date):
11621165
params.market = get_enum_value(market)
11631166
params.begin_date = begin_date
11641167
params.end_date = end_date
1165-
1168+
params.lang = get_enum_value(self._lang)
11661169
request = OpenApiRequest(CORPORATE_ACTION, biz_model=params)
11671170
response_content = self.__fetch_data(request)
11681171
if response_content:
@@ -1193,7 +1196,7 @@ def get_financial_daily(self, symbols, market, fields, begin_date, end_date):
11931196
params.fields = [get_enum_value(field) for field in fields]
11941197
params.begin_date = begin_date
11951198
params.end_date = end_date
1196-
1199+
params.lang = get_enum_value(self._lang)
11971200
request = OpenApiRequest(FINANCIAL_DAILY, biz_model=params)
11981201
response_content = self.__fetch_data(request)
11991202
if response_content:
@@ -1225,7 +1228,7 @@ def get_financial_report(self, symbols, market, fields, period_type):
12251228
params.market = get_enum_value(market)
12261229
params.fields = [get_enum_value(field) for field in fields]
12271230
params.period_type = get_enum_value(period_type)
1228-
1231+
params.lang = get_enum_value(self._lang)
12291232
request = OpenApiRequest(FINANCIAL_REPORT, biz_model=params)
12301233
response_content = self.__fetch_data(request)
12311234
if response_content:
@@ -1247,6 +1250,7 @@ def get_industry_list(self, industry_level=IndustryLevel.GGROUP):
12471250
"""
12481251
params = IndustryParams()
12491252
params.industry_level = get_enum_value(industry_level)
1253+
params.lang = get_enum_value(self._lang)
12501254
request = OpenApiRequest(INDUSTRY_LIST, biz_model=params)
12511255
response_content = self.__fetch_data(request)
12521256
if response_content:
@@ -1270,6 +1274,7 @@ def get_industry_stocks(self, industry, market=Market.US):
12701274
params = IndustryParams()
12711275
params.market = get_enum_value(market)
12721276
params.industry_id = industry
1277+
params.lang = get_enum_value(self._lang)
12731278
request = OpenApiRequest(INDUSTRY_STOCKS, biz_model=params)
12741279
response_content = self.__fetch_data(request)
12751280
if response_content:
@@ -1294,6 +1299,7 @@ def get_stock_industry(self, symbol, market=Market.US):
12941299
params = IndustryParams()
12951300
params.symbol = symbol
12961301
params.market = get_enum_value(market)
1302+
params.lang = get_enum_value(self._lang)
12971303
request = OpenApiRequest(STOCK_INDUSTRY, biz_model=params)
12981304
response_content = self.__fetch_data(request)
12991305
if response_content:
@@ -1356,6 +1362,7 @@ def get_trading_calendar(self, market, begin_date=None, end_date=None):
13561362
params.market = get_enum_value(market)
13571363
params.begin_date = begin_date
13581364
params.end_date = end_date
1365+
params.lang = get_enum_value(self._lang)
13591366
request = OpenApiRequest(TRADING_CALENDAR, biz_model=params)
13601367
response_content = self.__fetch_data(request)
13611368
if response_content:

tigeropen/quote/request/model.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def lang(self, value):
3939
self._lang = value
4040

4141
def to_openapi_dict(self):
42-
params = dict()
42+
params = super().to_openapi_dict()
4343
if self.market:
4444
params['market'] = self.market
4545

@@ -425,7 +425,7 @@ def strike(self, value):
425425
self._strike = value
426426

427427
def to_openapi_dict(self):
428-
params = dict()
428+
params = super().to_openapi_dict()
429429

430430
if self.symbol:
431431
params['symbol'] = self.symbol
@@ -546,7 +546,7 @@ def lang(self, value):
546546
self._lang = value
547547

548548
def to_openapi_dict(self):
549-
params = dict()
549+
params = super().to_openapi_dict()
550550
if self.exchange_code:
551551
params['exchange_code'] = self.exchange_code
552552

@@ -558,6 +558,7 @@ def to_openapi_dict(self):
558558

559559
class FutureContractParams(BaseParams):
560560
def __init__(self):
561+
super().__init__()
561562
self._type = None # 期货品种
562563
self._contract_code = None # 期货代码
563564
self._lang = None # 语言
@@ -587,7 +588,7 @@ def lang(self, value):
587588
self._lang = value
588589

589590
def to_openapi_dict(self):
590-
params = dict()
591+
params = super().to_openapi_dict()
591592
if self.type:
592593
params['type'] = self.type
593594

@@ -623,7 +624,7 @@ def trading_date(self, value):
623624
self._trading_date = value
624625

625626
def to_openapi_dict(self):
626-
params = dict()
627+
params = super().to_openapi_dict()
627628
if self.contract_code:
628629
params['contract_code'] = self.contract_code
629630

@@ -762,7 +763,7 @@ def market(self, value):
762763
self._market = value
763764

764765
def to_openapi_dict(self):
765-
params = dict()
766+
params = super().to_openapi_dict()
766767
if self.symbols:
767768
params['symbols'] = self.symbols
768769
if self.market:
@@ -793,7 +794,8 @@ def option_filter(self, value):
793794
self._option_filter = value
794795

795796
def to_openapi_dict(self):
796-
params = {'option_basic': list(), 'option_filter': dict()}
797+
params = super().to_openapi_dict()
798+
params.update({'option_basic': list(), 'option_filter': dict()})
797799

798800
if self.contracts:
799801
for contract in self.contracts:
@@ -835,7 +837,7 @@ def end_date(self, value):
835837
self._end_date = value
836838

837839
def to_openapi_dict(self):
838-
params = dict()
840+
params = super().to_openapi_dict()
839841
if self.market:
840842
params['market'] = self.market
841843

0 commit comments

Comments
 (0)