|
1 | 1 | from abc import ABCMeta as _ABCMeta, abstractmethod as _abstractmethod |
2 | | -from typing import Any as _Any, override as _override, Generator as _Generator, Literal as _Literal |
| 2 | +from typing import Any as _Any, override as _override, Generator as _Generator, Literal as _Literal, \ |
| 3 | + Sequence as _Sequence |
3 | 4 |
|
4 | 5 | from leads.data import distance_between |
5 | 6 | from leads.data_persistence.analyzer.utils import time_invalid, speed_invalid, acceleration_invalid, \ |
@@ -266,6 +267,13 @@ def __init__(self, file: str, chunk_size: int = 100) -> None: |
266 | 267 | super().__init__(file, chunk_size) |
267 | 268 | self._raw_data: tuple[dict[str, _Any], ...] = () |
268 | 269 | self._inferred_data: list[dict[str, _Any]] = [] |
| 270 | + self._clear: set[str] = set() |
| 271 | + |
| 272 | + def clear(self, entry: str) -> None: |
| 273 | + self._clear.add(entry) |
| 274 | + |
| 275 | + def clear_all(self, entries: _Sequence[str]) -> None: |
| 276 | + self._clear = set(entries) |
269 | 277 |
|
270 | 278 | @_override |
271 | 279 | def __len__(self) -> int: |
@@ -308,6 +316,8 @@ def load(self) -> None: |
308 | 316 | super().load() |
309 | 317 | raw_data = [] |
310 | 318 | for row in super().__iter__(): |
| 319 | + for clear_entry in self._clear: |
| 320 | + row[clear_entry] = None |
311 | 321 | raw_data.append(row) |
312 | 322 | self._raw_data = tuple(raw_data) |
313 | 323 | self._inferred_data = [{} for _ in range(len(raw_data))] |
|
0 commit comments