extmod/asyncio/uasyncio.py: Add backwards-compatible uasyncio alias.

This allows existing code that does `import uasyncio` or
`import uasyncio as asyncio` to continue working.

It uses the same lazy-loading as asyncio to prevent loading of unused
features.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
Jim Mussared 2023-06-08 16:42:19 +10:00 committed by Damien George
parent 7979a4d267
commit ca79b49619
4 changed files with 25 additions and 0 deletions

View File

@ -13,3 +13,6 @@ package(
base_path="..", base_path="..",
opt=3, opt=3,
) )
# Backwards-compatible uasyncio module.
module("uasyncio.py", opt=3)

View File

@ -0,0 +1,8 @@
# This module just allows `import uasyncio` to work. It lazy-loads from
# `asyncio` without duplicating its globals dict.
def __getattr__(attr):
import asyncio
return getattr(asyncio, attr)

View File

@ -0,0 +1,12 @@
try:
import uasyncio
import asyncio
except ImportError:
print("SKIP")
raise SystemExit
x = set(dir(uasyncio))
y = set(dir(asyncio)) - set(["event", "lock", "stream", "funcs"])
print(x - y)
print(y - x)

View File

@ -0,0 +1,2 @@
set()
set()