diff --git a/gen_pulse_data.py b/gen_pulse_data.py
index bf188e7f39900143bfec72cecb0705cccf2746e4..3fca9e9959c024fc46d3306aea437be3082ae4fc 100644
--- a/gen_pulse_data.py
+++ b/gen_pulse_data.py
@@ -164,39 +164,38 @@ def main():
             )
 
     pulse_shape = options.pop("pulse_shape")
-    match pulse_shape:
-        case "gauss":
-            vdc, fourier_coef = fourier_coef_gauss(
-                    omega = options["omega"],
-                    baseline = options.pop("baseline_voltage"),
-                    duration = options.pop("pulse_duration"),
-                    height = options.pop("pulse_height"),
-                    phase = options.pop("pulse_phase"),
-                    nmax = options["nmax"],
-                    )
-            options.pop("pulse_separation")
-        case "gauss_symmetric":
-            vdc, fourier_coef = fourier_coef_gauss_symmetric(
-                    omega = options["omega"],
-                    baseline = options.pop("baseline_voltage"),
-                    duration = options.pop("pulse_duration"),
-                    height = options.pop("pulse_height"),
-                    phase = options.pop("pulse_phase"),
-                    nmax = options["nmax"],
-                    )
-            options.pop("pulse_separation")
-        case "updown_gauss":
-            vdc, fourier_coef = fourier_coef_updown_gauss(
-                    omega = options["omega"],
-                    baseline = options.pop("baseline_voltage"),
-                    duration = options.pop("pulse_duration"),
-                    height = options.pop("pulse_height"),
-                    phase = options.pop("pulse_phase"),
-                    separation = options.pop("pulse_separation"),
-                    nmax = options["nmax"],
-                    )
-        case _:
-            raise ValueError("invalid pulse shape")
+    if pulse_shape == "gauss":
+        vdc, fourier_coef = fourier_coef_gauss(
+                omega = options["omega"],
+                baseline = options.pop("baseline_voltage"),
+                duration = options.pop("pulse_duration"),
+                height = options.pop("pulse_height"),
+                phase = options.pop("pulse_phase"),
+                nmax = options["nmax"],
+                )
+        options.pop("pulse_separation")
+    elif pulse_shape == "gauss_symmetric":
+        vdc, fourier_coef = fourier_coef_gauss_symmetric(
+                omega = options["omega"],
+                baseline = options.pop("baseline_voltage"),
+                duration = options.pop("pulse_duration"),
+                height = options.pop("pulse_height"),
+                phase = options.pop("pulse_phase"),
+                nmax = options["nmax"],
+                )
+        options.pop("pulse_separation")
+    elif pulse_shape == "updown_gauss":
+        vdc, fourier_coef = fourier_coef_updown_gauss(
+                omega = options["omega"],
+                baseline = options.pop("baseline_voltage"),
+                duration = options.pop("pulse_duration"),
+                height = options.pop("pulse_height"),
+                phase = options.pop("pulse_phase"),
+                separation = options.pop("pulse_separation"),
+                nmax = options["nmax"],
+                )
+    else:
+        raise ValueError(f"invalid pulse shape: {pulse_shape}")
 
     # Generate data
     dm = DataManager()