2fbc08c462
The asyncio module now has much better CPython compatibility and deserves to be just called "asyncio". This will avoid people having to write `from uasyncio import asyncio`. Renames all files, and updates port manifests to use the new path. Also renames the built-in _uasyncio to _asyncio. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
32 lines
709 B
Python
32 lines
709 B
Python
# MicroPython asyncio module
|
|
# MIT license; Copyright (c) 2019 Damien P. George
|
|
|
|
from .core import *
|
|
|
|
__version__ = (3, 0, 0)
|
|
|
|
_attrs = {
|
|
"wait_for": "funcs",
|
|
"wait_for_ms": "funcs",
|
|
"gather": "funcs",
|
|
"Event": "event",
|
|
"ThreadSafeFlag": "event",
|
|
"Lock": "lock",
|
|
"open_connection": "stream",
|
|
"start_server": "stream",
|
|
"StreamReader": "stream",
|
|
"StreamWriter": "stream",
|
|
}
|
|
|
|
|
|
# Lazy loader, effectively does:
|
|
# global attr
|
|
# from .mod import attr
|
|
def __getattr__(attr):
|
|
mod = _attrs.get(attr, None)
|
|
if mod is None:
|
|
raise AttributeError(attr)
|
|
value = getattr(__import__(mod, None, None, True, 1), attr)
|
|
globals()[attr] = value
|
|
return value
|