outleap 0.7.3__tar.gz → 0.7.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. {outleap-0.7.3 → outleap-0.7.5}/PKG-INFO +1 -1
  2. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/api_wrappers.py +14 -1
  3. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/scripts/repl.py +15 -0
  4. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/version.py +2 -2
  5. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/PKG-INFO +1 -1
  6. {outleap-0.7.3 → outleap-0.7.5}/.coveragerc +0 -0
  7. {outleap-0.7.3 → outleap-0.7.5}/.github/workflows/cis.yml +0 -0
  8. {outleap-0.7.3 → outleap-0.7.5}/.github/workflows/pypi_publish.yml +0 -0
  9. {outleap-0.7.3 → outleap-0.7.5}/.gitignore +0 -0
  10. {outleap-0.7.3 → outleap-0.7.5}/COPYING +0 -0
  11. {outleap-0.7.3 → outleap-0.7.5}/MANIFEST.in +0 -0
  12. {outleap-0.7.3 → outleap-0.7.5}/README.md +0 -0
  13. {outleap-0.7.3 → outleap-0.7.5}/codecov.yml +0 -0
  14. {outleap-0.7.3 → outleap-0.7.5}/examples/README.md +0 -0
  15. {outleap-0.7.3 → outleap-0.7.5}/examples/complex_leap_script.py +0 -0
  16. {outleap-0.7.3 → outleap-0.7.5}/examples/simple_leap_script.py +0 -0
  17. {outleap-0.7.3 → outleap-0.7.5}/pyproject.toml +0 -0
  18. {outleap-0.7.3 → outleap-0.7.5}/setup.cfg +0 -0
  19. {outleap-0.7.3 → outleap-0.7.5}/setup.py +0 -0
  20. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/__init__.py +0 -0
  21. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/bridge.py +0 -0
  22. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/client.py +0 -0
  23. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/protocol.py +0 -0
  24. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/qt_helpers.py +0 -0
  25. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/scripts/__init__.py +0 -0
  26. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/scripts/agent.py +0 -0
  27. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/scripts/inspector.py +0 -0
  28. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/scripts/ui/inspector.ui +0 -0
  29. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/ui_elems.py +0 -0
  30. {outleap-0.7.3 → outleap-0.7.5}/src/outleap/utils.py +0 -0
  31. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/SOURCES.txt +0 -0
  32. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/dependency_links.txt +0 -0
  33. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/entry_points.txt +0 -0
  34. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/requires.txt +0 -0
  35. {outleap-0.7.3 → outleap-0.7.5}/src/outleap.egg-info/top_level.txt +0 -0
  36. {outleap-0.7.3 → outleap-0.7.5}/static/inspector_screenshot.png +0 -0
  37. {outleap-0.7.3 → outleap-0.7.5}/tests/__init__.py +0 -0
  38. {outleap-0.7.3 → outleap-0.7.5}/tests/test_client.py +0 -0
  39. {outleap-0.7.3 → outleap-0.7.5}/tests/test_protocol.py +0 -0
  40. {outleap-0.7.3 → outleap-0.7.5}/tests/test_stdio.py +0 -0
  41. {outleap-0.7.3 → outleap-0.7.5}/tests/test_ui_elems.py +0 -0
  42. {outleap-0.7.3 → outleap-0.7.5}/tests/test_wrappers.py +0 -0
  43. {outleap-0.7.3 → outleap-0.7.5}/tests/ui_paths.txt +0 -0
  44. {outleap-0.7.3 → outleap-0.7.5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: outleap
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tools for using asyncio to control a Second Life viewer over the LEAP protocol
5
5
  Author-email: Salad Dais <83434023+SaladDais@users.noreply.github.com>
6
6
  License: MIT License
@@ -22,12 +22,25 @@ class LEAPAPIWrapper(abc.ABC):
22
22
  assert self._pump_name
23
23
 
24
24
 
25
+ class LEAPAPIError(Exception):
26
+ """Error reported from API."""
27
+
28
+ response_data: Dict
29
+
30
+ def __init__(self, error_message: str, response_data: Dict):
31
+ super().__init__(error_message)
32
+ self.response_data = response_data
33
+
34
+
25
35
  async def _data_unwrapper(data_fut: Awaitable[Dict], inner_elem: str) -> Any:
26
36
  """Unwraps part of the data future while allowing the request itself to remain synchronous"""
27
37
  # We want the request to be sent immediately, without requiring the request to be `await`ed first,
28
38
  # but that means that we have to return a `Coroutine` that will pull the value out of the dict
29
39
  # rather than directly returning the `Future`.
30
- return (await data_fut)[inner_elem]
40
+ response = await data_fut
41
+ if err_msg := response.get("error"):
42
+ raise LEAPAPIError(err_msg, response)
43
+ return response[inner_elem]
31
44
 
32
45
 
33
46
  class CommandAPI(LEAPAPIWrapper):
@@ -5,6 +5,7 @@ Interactive REPL that handles connect-back connections from outleap-agent
5
5
  import asyncio
6
6
  import logging
7
7
  import multiprocessing
8
+ import platform
8
9
  import pprint
9
10
  import sys
10
11
  import uuid
@@ -18,6 +19,20 @@ except ImportError:
18
19
  import outleap
19
20
 
20
21
 
22
+ def _patch_loop_factory_for_ptpython() -> None:
23
+ # This patch can be removed when https://github.com/prompt-toolkit/ptpython/issues/582 is fixed
24
+ from asyncio import get_event_loop_policy
25
+
26
+ policy = get_event_loop_policy()
27
+ if loop_factory := getattr(policy, "_loop_factory", None):
28
+ for attr in ("add_signal_handler", "remove_signal_handler"):
29
+ setattr(loop_factory, attr, lambda *args, **kwargs: None)
30
+
31
+
32
+ if platform.system() == "Windows":
33
+ _patch_loop_factory_for_ptpython()
34
+
35
+
21
36
  class REPLServer:
22
37
  def __init__(self):
23
38
  self._repl_running = False
@@ -5,7 +5,7 @@ from collections import namedtuple
5
5
  #: A namedtuple of the version info for the current release.
6
6
  _version_info = namedtuple("_version_info", "major minor micro status")
7
7
 
8
- parts = "0.7.3".split(".", 3)
8
+ parts = "0.7.5".split(".", 3)
9
9
  version_info = _version_info(
10
10
  int(parts[0]),
11
11
  int(parts[1]),
@@ -16,4 +16,4 @@ version_info = _version_info(
16
16
  # Remove everything but the 'version_info' from this module.
17
17
  del namedtuple, _version_info, parts
18
18
 
19
- __version__ = "0.7.3"
19
+ __version__ = "0.7.5"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: outleap
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tools for using asyncio to control a Second Life viewer over the LEAP protocol
5
5
  Author-email: Salad Dais <83434023+SaladDais@users.noreply.github.com>
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes