-
Notifications
You must be signed in to change notification settings - Fork 1k
cmd: Stripped down version of Python 3.3 cmd.py #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
So, is this really written from scratch or edited from CPy's cmd.py? For the latter case, I tried to start with committing CPy module verbatim, and then apply changes in the next commit - so it was easy to see which exact changes were applied wrt to CPython version. I'd appreciate if you could do that, as if I try to do it, it will be hard to preserve your authorship. And regarding setup.py, that's intended to be auto-generated from metadata.txt using make_metadata.py script in the root of repo. |
OK - this was started with CPy's cmd.py. I'm happy to rework the PR to be the original CPy version and then do a changeset from there. I'll create a metadata.txt file and generate setup.py from it. |
I added the cmd.py from 3.4 (or 3.3 - they're both the same) and then did a separate commit for the changes. |
Merged with minor typo fixes. |
Also pushed on PyPI. |
Q #1: Should this be in uasyncio package at all? Upstream doesn't have this. Pro: will be easier for people do discover (see e.g. micropython/micropython-lib#148) Q #2: This provides implements 2 ways to create a WS connections: 1) using start_ws_server(); 2) using wrapping existing StreamReader and StreamWriter. History: initial prototype of course used 2). But the idea was "it should be like the official start_server()!!1". But then I though how to integrate it e.g. with Picoweb, and became clear that 2) is the most flixble way. So, 1) is intended to be removed. Q #3: Uses native websocket module for read path, but has own write path due to micropython/micropython#3396 Q #4: Requires micropython/micropython-lib#227 due to micropython/micropython#3394 .
During development, following questions were posed, and subsequently, answered: Q #1: Should this be in uasyncio package at all? Upstream doesn't have this. Pro: will be easier for people do discover (see e.g. #148) A: uasyncio diverges more and more from asyncio, so if something is convinient for uasyncio, there's no need to look back at asyncio. Q #2: This provides implements 2 ways to create a WS connections: 1) using start_ws_server(); 2) using wrapping existing StreamReader and StreamWriter. History: initial prototype of course used 2). But the idea was "it should be like the official start_server()!!1". But then I though how to integrate it e.g. with Picoweb, and became clear that 2) is the most flixble way. So, 1) is intended to be removed. A: 1) was removed and is not part of the merged version of the patch. Q #3: Uses native websocket module for read path, but has own write path due to micropython/micropython#3396 A: So far, so good. Q #4: Requires #227 due to micropython/micropython#3394 . A: The prerequisite was merged.
This is a slightly stripped down version of Python's cmd module.
It doesn't support doc-string help (since micropython removes those)
It doesn't support completions yet