Initial version of the library supporting ONVIF and pipelines managem…#971
Initial version of the library supporting ONVIF and pipelines managem…#971jmotow wants to merge 9 commits into
Conversation
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
pylint
python/dlstreamer/onvif/ptz/controller.py|65| R0904: Too many public methods (26/20) (too-many-public-methods)
python/dlstreamer/onvif/ptz_test_app/app.py|292 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/ptz_test_app/app.py|332| R0912: Too many branches (22/12) (too-many-branches)
python/dlstreamer/onvif/ptz_test_app/app.py|332| R0915: Too many statements (68/50) (too-many-statements)
python/dlstreamer/onvif/ptz_test_app/app.py|635| R0912: Too many branches (13/12) (too-many-branches)
python/dlstreamer/onvif/video_engine/api.py|192| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|199| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|203| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|211| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|216| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|220| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|224| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|228| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|234| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|244| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine/api.py|51| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|66| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|70| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|74| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|78| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|82| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|86| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|90| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|90| C0103: Function name "setTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/api.py|94| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|94| C0103: Function name "getTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/api.py|98| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|98| C0103: Function name "setDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/api.py|102| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|102| C0103: Function name "getDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/api.py|106| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|110| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|114| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|118| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|122| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|122| R0913: Too many arguments (7/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/api.py|143| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|143| R0913: Too many arguments (6/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/api.py|164| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|168| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|172| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|176| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|180| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|34| R0902: Too many instance attributes (15/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/engine.py|67 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|83 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|91 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|95 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|100 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|110 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|118 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|127 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|127 col 4| C0103: Method name "setTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|130 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|130 col 4| C0103: Method name "getTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|133 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|133 col 4| C0103: Method name "setDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|136 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|136 col 4| C0103: Method name "getDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|139 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|144 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|149 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|153 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|164 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|164 col 4| R0913: Too many arguments (7/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|187 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|187 col 4| R0913: Too many arguments (6/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|204 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|210 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|214 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|297 col 8| C0415: Import outside toplevel (datetime.datetime, datetime.timezone) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine/engine.py|378 col 19| W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
python/dlstreamer/onvif/video_engine/engine.py|378 col 19| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine/engine.py|412 col 8| R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
python/dlstreamer/onvif/video_engine/engine.py|430 col 15| W0718: Catching too general exception Exception (broad-exception-caught)
python/dlstreamer/onvif/video_engine/engine.py|420 col 12| C0415: Import outside toplevel (camera_profiles.read_camera_profiles) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine/model.py|30 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/model.py|47 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/model.py|70 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|297| C0301: Line too long (187/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|300| C0301: Line too long (165/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|536| C0325: Unnecessary parens after 'not' keyword (superfluous-parens)
python/dlstreamer/onvif/video_engine_test_app/app.py|564| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine_test_app/app.py|19| E0001: Cannot import 'dlstreamer.onvif.video_engine' due to 'invalid decimal literal (dlstreamer.onvif.video_engine, line 10)' (syntax-error)
python/dlstreamer/onvif/video_engine_test_app/app.py|19| E0611: No name 'video_engine' in module 'dlstreamer.onvif' (no-name-in-module)
python/dlstreamer/onvif/video_engine_test_app/app.py|54 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|61 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|235| R0914: Too many local variables (16/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|500| R0914: Too many local variables (21/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|551 col 8| C0415: Import outside toplevel (urllib.parse.urlparse, urllib.parse.urlunparse) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|559 col 8| C0415: Import outside toplevel (subprocess) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|560 col 8| C0415: Import outside toplevel (time) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|500| R0915: Too many statements (51/50) (too-many-statements)
python/dlstreamer/onvif/video_engine_test_app/app.py|561 col 15| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| R0912: Too many branches (17/12) (too-many-branches)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| R0915: Too many statements (54/50) (too-many-statements)
|
|
||
| from .api import * # noqa: F401,F403 | ||
| from .api import __all__ # noqa: F401 | ||
| openvino_genai_ubuntu24_2026.2.0.0_x86_64 No newline at end of file |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
E0001: Parsing failed: 'invalid decimal literal (dlstreamer.onvif.video_engine.init, line 10)' (syntax-error)
| > """ | ||
|
|
||
|
|
||
| def run() -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0912: Too many branches (17/12) (too-many-branches)
| # --------------------------------------------------------------------------- | ||
|
|
||
|
|
||
| class TestAppState: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0903: Too few public methods (0/2) (too-few-public-methods)
| from .engine import OnvifEventEngine | ||
|
|
||
|
|
||
| def pull_events_once( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0913: Too many arguments (9/5) (too-many-arguments)
| from .engine import OnvifEventEngine | ||
|
|
||
|
|
||
| def pull_events_once( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0917: Too many positional arguments (9/5) (too-many-positional-arguments)
| async def stop_async(self, pan_tilt: bool = True, zoom: bool = True) -> None: | ||
| await asyncio.to_thread(self.stop, pan_tilt, zoom) | ||
|
|
||
| async def goto_preset_async( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| ) -> None: | ||
| await asyncio.to_thread(self.goto_preset, preset_token, speed) | ||
|
|
||
| async def set_preset_async( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| ) -> str: | ||
| return await asyncio.to_thread(self.set_preset, name, preset_token) | ||
|
|
||
| async def remove_preset_async(self, preset_token: str) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| async def remove_preset_async(self, preset_token: str) -> None: | ||
| await asyncio.to_thread(self.remove_preset, preset_token) | ||
|
|
||
| async def goto_home_async(self, speed: Optional[PTZVector] = None) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| async def goto_home_async(self, speed: Optional[PTZVector] = None) -> None: | ||
| await asyncio.to_thread(self.goto_home, speed) | ||
|
|
||
| async def set_home_async(self) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| print("| " + " | ".join(h.ljust(w) for h, w in zip(headers, widths)) + " |") | ||
| print(sep) | ||
| for row in rows: | ||
| print("| " + " | ".join(v.ljust(w) for v, w in zip(row, widths)) + " |") |
| print(f" [FAIL] {camera_id}: {result.error}") | ||
| return | ||
| mac_info = f" MAC={result.mac_address}" if result.mac_address else "" | ||
| print(f" [ OK ] {camera_id}: {len(result.profiles)} profile(s){mac_info}") |
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
pylint
python/dlstreamer/onvif/video_engine/api.py|106| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|110| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|114| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|118| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|122| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|122| R0913: Too many arguments (7/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/api.py|143| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|143| R0913: Too many arguments (6/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/api.py|164| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|168| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|172| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|176| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/api.py|180| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|34| R0902: Too many instance attributes (15/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/engine.py|67 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|83 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|91 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|95 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|100 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|110 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|118 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|127 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|127 col 4| C0103: Method name "setTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|130 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|130 col 4| C0103: Method name "getTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|133 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|133 col 4| C0103: Method name "setDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|136 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|136 col 4| C0103: Method name "getDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|139 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|144 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|149 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|153 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|164 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|164 col 4| R0913: Too many arguments (7/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|187 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|187 col 4| R0913: Too many arguments (6/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|204 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|210 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|214 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|297 col 8| C0415: Import outside toplevel (datetime.datetime, datetime.timezone) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine/engine.py|378 col 19| W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
python/dlstreamer/onvif/video_engine/engine.py|378 col 19| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine/engine.py|412 col 8| R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
python/dlstreamer/onvif/video_engine/engine.py|430 col 15| W0718: Catching too general exception Exception (broad-exception-caught)
python/dlstreamer/onvif/video_engine/engine.py|420 col 12| C0415: Import outside toplevel (camera_profiles.read_camera_profiles) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine/model.py|30 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/model.py|47 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/model.py|70 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|297| C0301: Line too long (187/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|300| C0301: Line too long (165/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|536| C0325: Unnecessary parens after 'not' keyword (superfluous-parens)
python/dlstreamer/onvif/video_engine_test_app/app.py|564| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine_test_app/app.py|19| E0001: Cannot import 'dlstreamer.onvif.video_engine' due to 'invalid decimal literal (dlstreamer.onvif.video_engine, line 10)' (syntax-error)
python/dlstreamer/onvif/video_engine_test_app/app.py|19| E0611: No name 'video_engine' in module 'dlstreamer.onvif' (no-name-in-module)
python/dlstreamer/onvif/video_engine_test_app/app.py|54 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|61 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|235| R0914: Too many local variables (16/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|500| R0914: Too many local variables (21/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|551 col 8| C0415: Import outside toplevel (urllib.parse.urlparse, urllib.parse.urlunparse) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|559 col 8| C0415: Import outside toplevel (subprocess) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|560 col 8| C0415: Import outside toplevel (time) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|500| R0915: Too many statements (51/50) (too-many-statements)
python/dlstreamer/onvif/video_engine_test_app/app.py|561 col 15| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| R0912: Too many branches (17/12) (too-many-branches)
python/dlstreamer/onvif/video_engine_test_app/app.py|579| R0915: Too many statements (54/50) (too-many-statements)
| # --------------------------------------------------------------------------- | ||
|
|
||
|
|
||
| class PTZController: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0904: Too many public methods (26/20) (too-many-public-methods)
| rlist, _, _ = select.select([sys.stdin], [], [], timeout) | ||
| return bool(rlist) | ||
|
|
||
| def read(self) -> str: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| """ | ||
|
|
||
|
|
||
| def _run_control_screen(state: TestAppState, cap: PTZCapableProfile) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0912: Too many branches (22/12) (too-many-branches)
| """ | ||
|
|
||
|
|
||
| def _run_control_screen(state: TestAppState, cap: PTZCapableProfile) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0915: Too many statements (68/50) (too-many-statements)
| > """ | ||
|
|
||
|
|
||
| def run() -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0912: Too many branches (13/12) (too-many-branches)
| _DEFAULT_ENGINE.setTimeout(sec) | ||
|
|
||
|
|
||
| def getTimeout() -> int: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0103: Function name "getTimeout" doesn't conform to snake_case naming style (invalid-name)
| return _DEFAULT_ENGINE.getTimeout() | ||
|
|
||
|
|
||
| def setDiscoveryTime(sec: int) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| return _DEFAULT_ENGINE.getTimeout() | ||
|
|
||
|
|
||
| def setDiscoveryTime(sec: int) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0103: Function name "setDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
| _DEFAULT_ENGINE.setDiscoveryTime(sec) | ||
|
|
||
|
|
||
| def getDiscoveryTime() -> int: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| _DEFAULT_ENGINE.setDiscoveryTime(sec) | ||
|
|
||
|
|
||
| def getDiscoveryTime() -> int: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0103: Function name "getDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
…nt_manager APIs, and document all ONVIF libraries with architecture diagrams in their READMEs.
…UX and rule-action diagnostics, plus minor camera_profiles/event_manager cleanup.
| print(f"\n [FAIL] {camera_id}: {r.error}") | ||
| continue | ||
| mac_info = f" MAC={r.mac_address}" if r.mac_address else "" | ||
| print(f"\n=== {camera_id} — {len(r.profiles)} profile(s){mac_info} ===") |
… the ONVIF suite (event_manager, ptz, video_engine) and updated all imports, tests, and docs accordingly.
…he rest of the ONVIF suite, and updated all imports and README references accordingly.
…gs, clearer RTSP errors) and PTZ (home_supported check), refine test apps, and update docs/tests.
…ve static-binding pipeline_ref against the pipeline library, inject URL-encoded RTSP credentials into resolved {rtsp_url}, emit human-readable profile-resolution errors, and respawn dead pipeline processes.
…a camera advertises, with full Source/Data schema
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
pylint
python/dlstreamer/onvif/video_engine/dynamic.py|210 col 4| R0913: Too many arguments (9/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/dynamic.py|271| R0902: Too many instance attributes (13/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/dynamic.py|307 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/dynamic.py|313 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/dynamic.py|345 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/dynamic.py|370 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|41| R0902: Too many instance attributes (22/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/engine.py|85 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|112 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|120 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|124 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|129 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|142 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|150 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|159 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|159 col 4| C0103: Method name "setTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|162 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|162 col 4| C0103: Method name "getTimeout" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|165 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|165 col 4| C0103: Method name "setDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|168 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|168 col 4| C0103: Method name "getDiscoveryTime" doesn't conform to snake_case naming style (invalid-name)
python/dlstreamer/onvif/video_engine/engine.py|179 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|184 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|189 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|193 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|204 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|204 col 4| R0913: Too many arguments (7/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|227 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|227 col 4| R0913: Too many arguments (6/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|244 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|271 col 4| R0913: Too many arguments (8/5) (too-many-arguments)
python/dlstreamer/onvif/video_engine/engine.py|271 col 4| R0914: Too many local variables (16/15) (too-many-locals)
python/dlstreamer/onvif/video_engine/engine.py|331 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|335 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/engine.py|587 col 4| R0914: Too many local variables (16/15) (too-many-locals)
python/dlstreamer/onvif/video_engine/engine.py|821 col 19| W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
python/dlstreamer/onvif/video_engine/engine.py|821 col 19| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine/engine.py|862 col 8| R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
python/dlstreamer/onvif/video_engine/engine.py|41| R0904: Too many public methods (29/20) (too-many-public-methods)
python/dlstreamer/onvif/video_engine/types.py|31 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/types.py|50 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/types.py|79 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/types.py|128| R0902: Too many instance attributes (9/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/types.py|261 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine/types.py|266| R0902: Too many instance attributes (8/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine/types.py|289 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|31| C0301: Line too long (161/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|397| C0301: Line too long (187/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|400| C0301: Line too long (165/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|414| C0301: Line too long (183/160) (line-too-long)
python/dlstreamer/onvif/video_engine_test_app/app.py|780| C0325: Unnecessary parens after 'not' keyword (superfluous-parens)
python/dlstreamer/onvif/video_engine_test_app/app.py|808| C0303: Trailing whitespace (trailing-whitespace)
python/dlstreamer/onvif/video_engine_test_app/app.py|44| R0902: Too many instance attributes (12/7) (too-many-instance-attributes)
python/dlstreamer/onvif/video_engine_test_app/app.py|71 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|81 col 4| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|313| R0914: Too many local variables (16/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|744| R0914: Too many local variables (21/15) (too-many-locals)
python/dlstreamer/onvif/video_engine_test_app/app.py|795 col 8| C0415: Import outside toplevel (urllib.parse.urlparse, urllib.parse.urlunparse) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|803 col 8| C0415: Import outside toplevel (subprocess) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|804 col 8| C0415: Import outside toplevel (time) (import-outside-toplevel)
python/dlstreamer/onvif/video_engine_test_app/app.py|744| R0915: Too many statements (51/50) (too-many-statements)
python/dlstreamer/onvif/video_engine_test_app/app.py|805 col 15| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
python/dlstreamer/onvif/video_engine_test_app/app.py|823| C0116: Missing function or method docstring (missing-function-docstring)
python/dlstreamer/onvif/video_engine_test_app/app.py|823| R0912: Too many branches (25/12) (too-many-branches)
python/dlstreamer/onvif/video_engine_test_app/app.py|823| R0915: Too many statements (78/50) (too-many-statements)
| > """ | ||
|
|
||
|
|
||
| def run() -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0912: Too many branches (18/12) (too-many-branches)
| print(f"{{EVENT}} [event] type: {note.topic or '<unknown>'}") | ||
|
|
||
|
|
||
| async def watch_events( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0913: Too many arguments (11/5) (too-many-arguments)
| print(f"{{EVENT}} [event] type: {note.topic or '<unknown>'}") | ||
|
|
||
|
|
||
| async def watch_events( |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0917: Too many positional arguments (11/5) (too-many-positional-arguments)
| async def get_event_properties_async(self) -> Any: | ||
| return await asyncio.to_thread(self.get_event_properties) | ||
|
|
||
| async def get_supported_event_topics_async(self) -> List[SupportedEventTopic]: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| # --------------------------------------------------------------------------- | ||
|
|
||
|
|
||
| class OnvifEventEngine: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0904: Too many public methods (21/20) (too-many-public-methods)
| logic isolated from event transport and pipeline mutation. | ||
| """ | ||
|
|
||
| def matches(self, rule: EventRule, notification: EventNotification) -> bool: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| ) | ||
|
|
||
|
|
||
| class EventRuleMatcher: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0903: Too few public methods (1/2) (too-few-public-methods)
| self._engine = engine | ||
| self._verbose = verbose | ||
|
|
||
| def execute(self, rule: EventRule) -> None: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
C0116: Missing function or method docstring (missing-function-docstring)
| return True | ||
|
|
||
|
|
||
| class PipelineActionExecutor: |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0903: Too few public methods (1/2) (too-few-public-methods)
| ) | ||
|
|
||
|
|
||
| class CameraEventWorker(threading.Thread): |
There was a problem hiding this comment.
[pylint] reported by reviewdog 🐶
R0902: Too many instance attributes (9/7) (too-many-instance-attributes)
This is initial version of the new library which is expected to support ONVIF discovery/profile S and DLS pipeline(s) management.