Skip to content

Commit da0f986

Browse files
authored
Merge pull request #691 from OpenTrafficCam/feature/8071-integrate-traffic-counts-plot-in-web-dashboard-prototype
Feature/8071 integrate traffic counts plot in web dashboard prototype
2 parents d107760 + 4a862ff commit da0f986

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

OTAnalytics/application/analysis/traffic_counting.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,13 +1015,15 @@ def __init__(
10151015
create_events: CreateEvents,
10161016
assigner: RoadUserAssigner,
10171017
tagger_factory: TaggerFactory,
1018+
enable_event_creation: bool = True,
10181019
):
10191020
self._event_repository = event_repository
10201021
self._flow_repository = flow_repository
10211022
self._get_sections_by_id = get_sections_by_id
10221023
self._create_events = create_events
10231024
self._assigner = assigner
10241025
self._tagger_factory = tagger_factory
1026+
self._enable_event_creation = enable_event_creation
10251027

10261028
def count(self, specification: CountingSpecificationDto) -> Count:
10271029
"""
@@ -1030,7 +1032,7 @@ def count(self, specification: CountingSpecificationDto) -> Count:
10301032
Args:
10311033
specification (CountingSpecificationDto): specification of the export
10321034
"""
1033-
if self._event_repository.is_empty():
1035+
if self._enable_event_creation and self._event_repository.is_empty():
10341036
self._create_events()
10351037

10361038
if specification.count_all_events:

OTAnalytics/domain/event.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def add_all(
472472
for event in events:
473473
self.__do_add(event)
474474
for section in sections:
475-
self._events.setdefault(section, dict())
475+
self._events[section]
476476
self.__discard_duplicates(events)
477477
self.__sort(events)
478478
self._subject.notify(EventRepositoryEvent(events, []))

OTAnalytics/plugin_datastore/track_store.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,14 @@ def classifications(self) -> frozenset[str]:
282282
def empty(self) -> bool:
283283
return self._dataset.empty
284284

285+
@property
286+
def track_geometry_factory(self) -> TRACK_GEOMETRY_FACTORY:
287+
return self._track_geometry_factory
288+
289+
@property
290+
def calculator(self) -> PandasTrackClassificationCalculator:
291+
return self._calculator
292+
285293
def __init__(
286294
self,
287295
track_geometry_factory: TRACK_GEOMETRY_FACTORY,
@@ -296,8 +304,8 @@ def __init__(
296304
else:
297305
self._dataset = create_empty_dataframe()
298306

299-
self.calculator = calculator
300-
self.track_geometry_factory = track_geometry_factory
307+
self._calculator = calculator
308+
self._track_geometry_factory = track_geometry_factory
301309
if geometry_datasets is None:
302310
self._geometry_datasets = dict[
303311
RelativeOffsetCoordinate, TrackGeometryDataset
@@ -737,10 +745,15 @@ class FilteredPandasTrackDataset(
737745
FilteredTrackDataset, PandasTrackDataset, PandasDataFrameProvider
738746
):
739747

740-
def __init__(
741-
self,
742-
other: PandasTrackDataset,
743-
) -> None:
748+
@property
749+
def track_geometry_factory(self) -> TRACK_GEOMETRY_FACTORY:
750+
return self._other.track_geometry_factory
751+
752+
@property
753+
def calculator(self) -> PandasTrackClassificationCalculator:
754+
return self._other.calculator
755+
756+
def __init__(self, other: PandasTrackDataset) -> None:
744757
self._other = other
745758

746759
def add_all(self, other: Iterable[Track]) -> PandasTrackDataset:

0 commit comments

Comments
 (0)