Ejemplo n.º 1
0
    def __init__(self,
                 connection,
                 event_type: str,
                 date_time: Union[str, datetime],
                 exact_format: bool = True):
        """

        Parameters
        ----------
        connection: dxfeed.core.DXFeedPy.ConnectionClass
            Core class written in cython, that handle connection related details on the low level
        event_type: str
            One of possible event types: 'Trade', 'Quote', 'Summary', 'Profile', 'Order', 'TimeAndSale', 'Candle',
            'TradeETH', 'SpreadOrder', 'Greeks', 'TheoPrice', 'Underlying', 'Series', 'Configuration' or ''
        date_time: str or datetime.datetime
            If present timed subscription will be created (conflated stream). For sting date format is following:
            %Y-%m-%d %H:%M:%S.%f. If None - stream subscription will be created (non-conflated). Default - None.
        exact_format: bool
            If False no warning will be thrown in case of incomplete date_time parameter. Default - True
        """
        self.__event_type = event_type
        if date_time is None:
            self.__sub = dxp.dxf_create_subscription(cc=connection,
                                                     event_type=event_type)
        else:
            date_time = cu.handle_datetime(date_time,
                                           fmt='%Y-%m-%d %H:%M:%S.%f',
                                           exact_format=exact_format)
            timestamp = int(date_time.timestamp() * 1000)
            self.__sub = dxp.dxf_create_subscription_timed(
                cc=connection, event_type=event_type, time=timestamp)
Ejemplo n.º 2
0
def test_handle_datetime_with_no_mins_string_format(dt_fmt):
    fmt = dt_fmt[:dt_fmt.rfind('%M') - 1]
    date_time = ValueStorage.dt.strftime(fmt)
    actual_datetime = cu.handle_datetime(date_time, fmt=dt_fmt)
    expected_datetime = ValueStorage.dt.replace(minute=0,
                                                second=0,
                                                microsecond=0)
    assert actual_datetime == expected_datetime
Ejemplo n.º 3
0
def test_handle_datetime_wrong_type():
    cu.handle_datetime(20201010)
Ejemplo n.º 4
0
def test_handle_datetime_with_complete_string_format(dt_fmt):
    date_time = ValueStorage.dt.strftime(format=dt_fmt)
    expected_date_time = datetime.strptime(date_time, dt_fmt)
    actual_datetime = cu.handle_datetime(expected_date_time, fmt=dt_fmt)
    assert expected_date_time == actual_datetime
Ejemplo n.º 5
0
def test_handle_datetime_from_datetime(dt_fmt):
    date_time = datetime.now()
    actual_datetime = cu.handle_datetime(date_time, fmt=dt_fmt)
    assert date_time == actual_datetime