Skip to content

Commit 75ca0d0

Browse files
committed
Replace match with if statements
Signed-off-by: Mattt Zmuda <mattt@replicate.com>
1 parent a664ae0 commit 75ca0d0

File tree

1 file changed

+24
-29
lines changed

1 file changed

+24
-29
lines changed

replicate/stream.py

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -112,21 +112,18 @@ def decode(self, line: str) -> Optional[ServerSentEvent]:
112112
fieldname, _, value = line.partition(":")
113113
value = value.lstrip()
114114

115-
match fieldname:
116-
case "event":
117-
if event := ServerSentEvent.EventType(value):
118-
self.event = event
119-
case "data":
120-
self.data.append(value)
121-
case "id":
122-
if "\0" not in value:
123-
self.last_event_id = value
124-
case "retry":
125-
try:
126-
self.retry = int(value)
127-
except (TypeError, ValueError):
128-
pass
129-
case _:
115+
if fieldname == "event":
116+
if event := ServerSentEvent.EventType(value):
117+
self.event = event
118+
elif fieldname == "data":
119+
self.data.append(value)
120+
elif fieldname == "id":
121+
if "\0" not in value:
122+
self.last_event_id = value
123+
elif fieldname == "retry":
124+
try:
125+
self.retry = int(value)
126+
except (TypeError, ValueError):
130127
pass
131128

132129
return None
@@ -137,27 +134,25 @@ def __iter__(self) -> Iterator[ServerSentEvent]:
137134
line = line.rstrip("\n")
138135
sse = decoder.decode(line)
139136
if sse is not None:
140-
match sse.event:
141-
case "done":
142-
return
143-
case "error":
144-
raise RuntimeError(sse.data)
145-
case _:
146-
yield sse
137+
if sse.event == "done":
138+
return
139+
elif sse.event == "error":
140+
raise RuntimeError(sse.data)
141+
else:
142+
yield sse
147143

148144
async def __aiter__(self) -> AsyncIterator[ServerSentEvent]:
149145
decoder = EventSource.Decoder()
150146
async for line in self.response.aiter_lines():
151147
line = line.rstrip("\n")
152148
sse = decoder.decode(line)
153149
if sse is not None:
154-
match sse.event:
155-
case "done":
156-
return
157-
case "error":
158-
raise RuntimeError(sse.data)
159-
case _:
160-
yield sse
150+
if sse.event == "done":
151+
return
152+
elif sse.event == "error":
153+
raise RuntimeError(sse.data)
154+
else:
155+
yield sse
161156

162157

163158
def stream(

0 commit comments

Comments
 (0)