Skip to content

Commit f28b4b4

Browse files
committed
modify stock screener request param
1 parent 5aea372 commit f28b4b4

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

tigeropen/common/util/string_utils.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,8 @@ def camel_to_underline_obj(d):
2626
return [camel_to_underline_obj(i) if isinstance(i, (dict, list)) else i for i in d]
2727
return {camel_to_underline(k): camel_to_underline_obj(v) if isinstance(v, (dict, list)) else v
2828
for k, v in d.items()}
29+
30+
31+
def camel_to_underline(camel_str):
32+
parts = camel_str.split('_')
33+
return parts[0] + ''.join(x.title() for x in parts[1:])

tigeropen/quote/domain/filter.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# @Author : sukai
55
from tigeropen.common.consts import SortDirection
66
from tigeropen.common.model import Field
7+
from tigeropen.common.util.string_utils import camel_to_underline
78

89
GREEKS = ['delta', 'gamma', 'theta', 'vega', 'rho']
910

@@ -61,23 +62,24 @@ def _min_max(self, k):
6162

6263

6364
class StockFilter:
64-
def __init__(self, field, min_value=None, max_value=None, sort=None, enable=True):
65+
def __init__(self, field, min_value=None, max_value=None, sort_direction=None, enable=True):
6566
"""
6667
stock filter
6768
:param field: filter field. subclass of tigeropen.common.consts.Field, or field name string
6869
:param min_value:
6970
:param max_value:
70-
:param sort: tigeropen.common.consts.SortDirection. ASC or DESC
71+
:param sort_direction: tigeropen.common.consts.SortDirection. ASC or DESC
7172
:param enable:
7273
"""
7374
self.field = field
7475
self.min_value = min_value
7576
self.max_value = max_value
76-
self.sort = sort
77+
self.sort = sort_direction
7778
self.enable = enable
7879

7980
def to_dict(self):
80-
return {'field': self.field.name if isinstance(self.field, Field) else self.field,
81+
82+
return {'field': camel_to_underline(self.field.name if isinstance(self.field, Field) else self.field),
8183
'min_value': self.min_value,
8284
'max_value': self.max_value,
8385
'sort_direction': self.sort.value if isinstance(self.sort, SortDirection) else self.sort,

tigeropen/quote/request/model.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -788,10 +788,10 @@ def to_openapi_dict(self):
788788
if self.market:
789789
params['market'] = self.market
790790
if self.stock_filters:
791-
params['filters'] = list()
791+
params['stock_filters'] = list()
792792
for item in self.stock_filters:
793793
if item.enable:
794-
params['filters'].append(item.to_dict())
794+
params['stock_filters'].append(item.to_dict())
795795
if self.page:
796796
params['page'] = self.page
797797
if self.limit:

0 commit comments

Comments
 (0)