Skip to content

Commit 6aa8bf8

Browse files
committed
history first last property; optimise imports
1 parent f39d763 commit 6aa8bf8

File tree

8 files changed

+24
-31
lines changed

8 files changed

+24
-31
lines changed

bobocep/cep/engine/decider/decider.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,14 @@
88
"""
99

1010
from collections import deque
11-
from queue import Queue
1211
from threading import RLock
1312
from typing import Tuple, Dict, List, Optional, Deque, Any
1413

1514
from bobocep.cep.engine.decider.pubsub import BoboDeciderPublisher, \
1615
BoboDeciderSubscriber
1716
from bobocep.cep.engine.decider.run import BoboRun
1817
from bobocep.cep.engine.decider.runserial import BoboRunSerial
19-
from bobocep.cep.engine.receiver.pubsub import BoboReceiverSubscriber
20-
from bobocep.cep.engine.task import BoboEngineTaskError, BoboEngineTask
18+
from bobocep.cep.engine.task import BoboEngineTaskError
2119
from bobocep.cep.event import BoboHistory, BoboEvent, BoboEventSimple
2220
from bobocep.cep.gen import BoboGenTimestamp
2321
from bobocep.cep.gen.event_id import BoboGenEventID

bobocep/cep/engine/engine.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,22 @@
66
CEP engine.
77
"""
88

9+
from queue import Queue
910
from threading import RLock
1011
from typing import Any, List, Optional, Tuple
11-
from queue import Queue
12+
1213
from bobocep import BoboError
1314
from bobocep.cep.action import BoboActionHandler
1415
from bobocep.cep.action.handler import BoboHandlerResponse
1516
from bobocep.cep.engine.decider.decider import BoboDecider
1617
from bobocep.cep.engine.decider.pubsub import BoboDeciderSubscriber
1718
from bobocep.cep.engine.decider.runserial import BoboRunSerial
18-
from bobocep.cep.engine.forwarder.forwarder import BoboForwarder
19-
from bobocep.cep.engine.producer.producer import BoboProducer
2019
from bobocep.cep.engine.pubsub import BoboEngineSubscriber
21-
from bobocep.cep.engine.receiver.receiver import BoboReceiver
2220
from bobocep.cep.engine.receiver.validator import BoboValidator
23-
from bobocep.cep.event import BoboEvent, BoboEventSimple, BoboEventComplex, \
21+
from bobocep.cep.event import BoboEventComplex, \
2422
BoboEventAction
25-
from bobocep.cep.gen import BoboGenEventID, BoboGenTimestamp, BoboGenEvent
2623
from bobocep.cep.gen.data import BoboGenData
2724
from bobocep.cep.phenom import BoboPhenomenon
28-
from tests.postman.non_dist.flask_123.run import data_int
2925

3026
_EXC_QUEUE_FULL_IN = "incoming queue is full (max size: {})"
3127
_EXC_QUEUE_FULL_OUT = "outgoing queue is full (max size: {})"

bobocep/cep/engine/pubsub.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
"""
88

99
from abc import ABC, abstractmethod
10-
from typing import Any
11-
12-
from bobocep.cep.event import BoboEvent
1310

1411

1512
class BoboEngineSubscriber(ABC):

bobocep/cep/engine/receiver/pubsub.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
from abc import ABC, abstractmethod
1010
from typing import Any
1111

12-
from bobocep.cep.event import BoboEvent
13-
1412

1513
class BoboReceiverSubscriber(ABC):
1614
"""

bobocep/cep/event/history.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,22 @@ def events(self) -> Dict[str, List[BoboEvent]]:
6161

6262
return eventscopy
6363

64+
@property
65+
def first(self) -> Optional[BoboEvent]:
66+
"""
67+
:return: The BoboEvent with the oldest timestamp,
68+
if there is at least one BoboEvent in the history.
69+
"""
70+
return self._first
71+
72+
@property
73+
def last(self) -> Optional[BoboEvent]:
74+
"""
75+
:return: The BoboEvent with the most recent timestamp,
76+
if there is at least one BoboEvent in the history.
77+
"""
78+
return self._last
79+
6480
def size(self) -> int:
6581
"""
6682
:return: The total number of history events across all groups.
@@ -97,20 +113,6 @@ def group(self, group: str) -> Tuple[BoboEvent, ...]:
97113
else:
98114
return tuple()
99115

100-
def first(self) -> Optional[BoboEvent]:
101-
"""
102-
:return: The BoboEvent with the oldest timestamp,
103-
if there is at least one BoboEvent in the history.
104-
"""
105-
return self._first
106-
107-
def last(self) -> Optional[BoboEvent]:
108-
"""
109-
:return: The BoboEvent with the most recent timestamp,
110-
if there is at least one BoboEvent in the history.
111-
"""
112-
return self._last
113-
114116
def to_json_dict(self) -> dict:
115117
"""
116118
:return: A JSON `dict` representation of the history.

bobocep/cep/gen/data.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from threading import RLock
1111
from types import MethodType
1212
from typing import Optional, Callable, Any
13+
1314
from bobocep.cep.gen.timestamp import BoboGenTimestampEpoch
1415

1516

bobocep/cep/phenom/pattern/predicate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from typing import Callable, Any
1414

1515
from bobocep import BoboError
16-
from bobocep.cep.event import BoboEvent, BoboHistory
16+
from bobocep.cep.event import BoboHistory
1717

1818
EXC_INVALID_PARAM = "call must have {} parameters, found {}"
1919
LEN_PARAM_CALL = 3

bobocep/setup/simple.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
from bobocep.cep.action.handler import BoboActionHandler
1212
from bobocep.cep.engine.decider.decider import BoboDecider
1313
from bobocep.cep.engine.engine import BoboEngine
14-
from bobocep.cep.engine.receiver.validator import BoboValidator, BoboValidatorJSONable
14+
from bobocep.cep.engine.receiver.validator import BoboValidator, \
15+
BoboValidatorJSONable
1516
from bobocep.cep.gen.data import BoboGenData
1617
from bobocep.cep.gen.event_id import BoboGenEventIDUnique
1718
from bobocep.cep.gen.timestamp import BoboGenTimestampEpoch

0 commit comments

Comments
 (0)