From ca335a11b8feb4a23c665168b8762e02c3f52a21 Mon Sep 17 00:00:00 2001
From: Serge Bazanski <q3k@q3k.org>
Date: Thu, 17 Aug 2023 12:32:43 +0200
Subject: [PATCH] sim: stub out some more junk

---
 sim/fakes/ctx.py       | 12 ++++++++++++
 sim/fakes/gzip.py      |  0
 sim/fakes/network.py   |  4 ++--
 sim/fakes/urequests.py | 43 ++++++++++++++++++++++++++++++++++++++++++
 sim/fakes/utarfile.py  |  8 ++++++++
 sim/run.py             |  2 +-
 6 files changed, 66 insertions(+), 3 deletions(-)
 create mode 100644 sim/fakes/gzip.py
 create mode 100644 sim/fakes/urequests.py
 create mode 100644 sim/fakes/utarfile.py

diff --git a/sim/fakes/ctx.py b/sim/fakes/ctx.py
index a6b65efca3..6b1533d09a 100644
--- a/sim/fakes/ctx.py
+++ b/sim/fakes/ctx.py
@@ -170,10 +170,22 @@ class Context:
         self._emit(f"moveTo {int(x)} {int(y)}")
         return self
 
+    def curve_to(self, a, b, c, d, e, f):
+        self._emit(f"curveTo {int(a)} {int(b)} {int(c)} {int(d)}")
+        return self
+
     def rel_move_to(self, x, y):
         self._emit(f"relMoveTo {int(x)} {int(y)}")
         return self
 
+    def rel_curve_to(self, a, b, c, d, e, f):
+        self._emit(f"relCurveTo {int(a)} {int(b)} {int(c)} {int(d)}")
+        return self
+
+    def close_path(self):
+        self._emit(f"closePath")
+        return self
+
     def translate(self, x, y):
         self._emit(f"translate {int(x)} {int(y)}")
         return self
diff --git a/sim/fakes/gzip.py b/sim/fakes/gzip.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sim/fakes/network.py b/sim/fakes/network.py
index 1ff7b268e4..4e2b755c0c 100644
--- a/sim/fakes/network.py
+++ b/sim/fakes/network.py
@@ -6,10 +6,10 @@ class WLAN:
         pass
 
     def active(self, active):
-        return False
+        return True
 
     def connect(self, ssid, key=None):
         pass
 
     def isconnected(self):
-        return False
+        return True
diff --git a/sim/fakes/urequests.py b/sim/fakes/urequests.py
new file mode 100644
index 0000000000..ac35c893af
--- /dev/null
+++ b/sim/fakes/urequests.py
@@ -0,0 +1,43 @@
+from typing import Any
+
+
+class Response:
+    text: str
+    content: bytes
+    status_code: int
+
+    def close(self) -> None:
+        ...
+
+    def json(self) -> Any:
+        ...
+
+
+def request(
+    method: str, url: str, data: Any, json: Any, headers: dict[str, str]
+) -> Response:
+    ...
+
+
+def head(url: str, **kw: Any) -> Response:
+    ...
+
+
+def get(url: str, **kw: Any) -> Response:
+    ...
+
+
+def post(url: str, **kw: Any) -> Response:
+    ...
+
+
+def put(url: str, **kw: Any) -> Response:
+    ...
+
+
+def patch(url: str, **kw: Any) -> Response:
+    ...
+
+
+def delete(url: str, **kw: Any) -> Response:
+    ...
diff --git a/sim/fakes/utarfile.py b/sim/fakes/utarfile.py
new file mode 100644
index 0000000000..d3dca76511
--- /dev/null
+++ b/sim/fakes/utarfile.py
@@ -0,0 +1,8 @@
+from typing import Any
+import tarfile
+
+DIRTYPE = "dir"
+REGTYPE = "file"
+
+TarInfo = tarfile.TarInfo
+TarFile = tarfile.TarFile
diff --git a/sim/run.py b/sim/run.py
index b07e31245b..ada708f938 100644
--- a/sim/run.py
+++ b/sim/run.py
@@ -30,7 +30,7 @@ class UnderscoreFinder(importlib.abc.MetaPathFinder):
             return self.builtin.find_spec("time", path, target)
         if fullname in ["random", "math"]:
             return self.builtin.find_spec(fullname, path, target)
-        if fullname in ["json"]:
+        if fullname in ["json", "tarfile"]:
             sys_path_saved = sys.path
             sys.path = sys_path_orig
             res = self.pathfinder.find_spec(fullname, path, target)
-- 
GitLab