feat: support task methods for exception and result
#54
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds the following methods to the
Taskclass to bring it closer in line with CPythonget_coro- a method that returns the micropython specificTask.coropropertyresult- returns the result if no exception was raised or raised the exception that this task hadexception- returns the exception if an exception was raisedcancelled- returns true if this task had been cancelledset_exception- exists on the class but always raises an exception per CPython's implementationset_result- exists on the class but always raises an exception per CPython implementationTask.cancelwas updated to support amsgparameter which is passed to theCancelledErrorIn progress is
add_done_callbackandremove_done_callback- these currently raise aNotImplementedErrorbut are how CPython manages the done callbacks (unlike CircuitPython supporting via modifyingTask.state)This requires changes to
circuitpython's_asyncioto properly work.fixes #53