From 85f045386a379ea2c13579695865e8bc6125a9f6 Mon Sep 17 00:00:00 2001
From: Rahix <rahix@rahix.de>
Date: Thu, 17 Aug 2023 21:11:21 +0200
Subject: [PATCH] sim: Use argparse instead of hack arg parsing

---
 sim/run.py | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/sim/run.py b/sim/run.py
index ada708f938..4ffe89eb3e 100644
--- a/sim/run.py
+++ b/sim/run.py
@@ -6,6 +6,7 @@ import importlib.util
 import os
 import sys
 import builtins
+import argparse
 
 
 projectpath = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
@@ -107,13 +108,22 @@ def _stat(path):
 
 os.stat = _stat
 
-if len(sys.argv) >= 2 and sys.argv[1] == "screenshot":
+
+def sim_main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--screenshot", action="store_true", default=False)
+    parser.add_argument("override_app", nargs="?")
+    args = parser.parse_args()
+
     import _sim
 
-    _sim.SCREENSHOT = True
-elif len(sys.argv) == 2:
-    import st3m.run
+    _sim.SCREENSHOT = args.screenshot
+
+    if args.override_app is not None:
+        st3m.run.override_main_app = args.override_app
+
+    import main
 
-    st3m.run.override_main_app = sys.argv[1]
 
-import main
+if __name__ == "__main__":
+    sim_main()
-- 
GitLab