Skip to content

Commit c0bd507

Browse files
authored
fix: prevent KeyError: 'title' in filter_keyvals_regex() (#123)
* Prevent `KeyError: 'title'` from happening in `filter_keyvals_regex` function * Add a test to ensure `KeyError: 'title'` doesn't happen
1 parent 6f5597e commit c0bd507

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

aw_transform/filter_keyvals.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@ def filter_keyvals_regex(events: List[Event], key: str, regex: str) -> List[Even
2323
r = re.compile(regex)
2424

2525
def predicate(event):
26-
return bool(r.findall(event.data[key]))
26+
return key in event.data and bool(r.findall(event.data[key]))
2727

2828
return [e for e in events if predicate(e)]

tests/test_transforms.py

+10
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,16 @@ def test_filter_keyval_regex():
6969
assert len(events_re) == 2
7070

7171

72+
def test_filter_keyval_regex_keyerror():
73+
events = [
74+
Event(data={"label": "aa"}),
75+
Event(),
76+
Event(data={"label": "cc"}),
77+
]
78+
events_re = filter_keyvals_regex(events, "label", "aa|cc")
79+
assert len(events_re) == 2
80+
81+
7282
def test_intersecting_eventpairs():
7383
td1h = timedelta(hours=1)
7484
now = datetime.now()

0 commit comments

Comments
 (0)