From 7e436cb0ebddf1f60c1f39a89182beaee08ea34b Mon Sep 17 00:00:00 2001
From: Rahix <rahix@rahix.de>
Date: Wed, 14 Aug 2019 12:06:58 +0200
Subject: [PATCH] feat(pycardium): Add more standard-library functions

This commit imports a few modules from micropython-lib.

Signed-off-by: Rahix <rahix@rahix.de>
---
 pycardium/modules/py/col_defaultdict.py |  1 +
 pycardium/modules/py/col_deque.py       |  1 +
 pycardium/modules/py/collections.py     |  9 +++++++++
 pycardium/modules/py/contextlib.py      |  1 +
 pycardium/modules/py/functools.py       |  1 +
 pycardium/modules/py/itertools.py       |  1 +
 pycardium/modules/py/meson.build        | 11 +++++++++++
 pycardium/modules/py/string.py          |  1 +
 pycardium/modules/py/struct.py          |  1 +
 pycardium/modules/py/ucontextlib.py     |  1 +
 10 files changed, 28 insertions(+)
 create mode 120000 pycardium/modules/py/col_defaultdict.py
 create mode 120000 pycardium/modules/py/col_deque.py
 create mode 100644 pycardium/modules/py/collections.py
 create mode 120000 pycardium/modules/py/contextlib.py
 create mode 120000 pycardium/modules/py/functools.py
 create mode 120000 pycardium/modules/py/itertools.py
 create mode 120000 pycardium/modules/py/string.py
 create mode 120000 pycardium/modules/py/struct.py
 create mode 120000 pycardium/modules/py/ucontextlib.py

diff --git a/pycardium/modules/py/col_defaultdict.py b/pycardium/modules/py/col_defaultdict.py
new file mode 120000
index 000000000..183f1c14a
--- /dev/null
+++ b/pycardium/modules/py/col_defaultdict.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/collections.defaultdict/collections/defaultdict.py
\ No newline at end of file
diff --git a/pycardium/modules/py/col_deque.py b/pycardium/modules/py/col_deque.py
new file mode 120000
index 000000000..4cbb2f4af
--- /dev/null
+++ b/pycardium/modules/py/col_deque.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/collections.deque/collections/deque.py
\ No newline at end of file
diff --git a/pycardium/modules/py/collections.py b/pycardium/modules/py/collections.py
new file mode 100644
index 000000000..896d2f71a
--- /dev/null
+++ b/pycardium/modules/py/collections.py
@@ -0,0 +1,9 @@
+# Adapted so we don't need relative import support
+
+from ucollections import *
+from col_defaultdict import defaultdict
+from col_deque import deque
+
+
+class MutableMapping:
+    pass
diff --git a/pycardium/modules/py/contextlib.py b/pycardium/modules/py/contextlib.py
new file mode 120000
index 000000000..1bbef33e9
--- /dev/null
+++ b/pycardium/modules/py/contextlib.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/contextlib/contextlib.py
\ No newline at end of file
diff --git a/pycardium/modules/py/functools.py b/pycardium/modules/py/functools.py
new file mode 120000
index 000000000..0aefb8ae9
--- /dev/null
+++ b/pycardium/modules/py/functools.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/functools/functools.py
\ No newline at end of file
diff --git a/pycardium/modules/py/itertools.py b/pycardium/modules/py/itertools.py
new file mode 120000
index 000000000..61b7479fa
--- /dev/null
+++ b/pycardium/modules/py/itertools.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/itertools/itertools.py
\ No newline at end of file
diff --git a/pycardium/modules/py/meson.build b/pycardium/modules/py/meson.build
index 7b1b9768a..2818ffa33 100644
--- a/pycardium/modules/py/meson.build
+++ b/pycardium/modules/py/meson.build
@@ -5,6 +5,17 @@ python_modules = files(
   'leds.py',
   'pride.py',
   'ledfx.py',
+
+  # MicroPython Standard-Library
+  'col_defaultdict.py',
+  'col_deque.py',
+  'collections.py',
+  'contextlib.py',
+  'functools.py',
+  'itertools.py',
+  'string.py',
+  'struct.py',
+  'ucontextlib.py',
 )
 
 frozen_modules = mpy_cross.process(python_modules)
diff --git a/pycardium/modules/py/string.py b/pycardium/modules/py/string.py
new file mode 120000
index 000000000..6148e21fd
--- /dev/null
+++ b/pycardium/modules/py/string.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/string/string.py
\ No newline at end of file
diff --git a/pycardium/modules/py/struct.py b/pycardium/modules/py/struct.py
new file mode 120000
index 000000000..e116d4642
--- /dev/null
+++ b/pycardium/modules/py/struct.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/struct/struct.py
\ No newline at end of file
diff --git a/pycardium/modules/py/ucontextlib.py b/pycardium/modules/py/ucontextlib.py
new file mode 120000
index 000000000..4487bdec5
--- /dev/null
+++ b/pycardium/modules/py/ucontextlib.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/ucontextlib/ucontextlib.py
\ No newline at end of file
-- 
GitLab