-
Notifications
You must be signed in to change notification settings - Fork 5
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
1.2.0-1.2.9 #38
Merged
Merged
1.2.0-1.2.9 #38
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* call property methods on keepalive/relogin in __init__ to make sure not None * revert previous commit * change wait_for_update to return False if an update failed * change optional property setters to int | None * back off relogin with multiple sync check fails * re-factor async_query and async_fetch_version * move _sync_check near _keepalive_task to make them easier to find * refactor sync check task * refactor keepalive_task * refactor _fetch_devices * refactor zones * add docstrings, make a few things constants * partial revert 800e24f * change zones variables to snake case * rework sync_check_task * add gateway pytests * add alarm panel tests * fix extra whitespace in util.py * fix extra whitespace in util.py * add test_util.py * parse_pulse_datetime fixes * attempt to fix handle_response tests * add detailed debug logging * max_retries -> MAX_RETRIES * log url instead of uri in async_query() * update black.yml to use checkoutv4 * add setup-python to black.yml * add pre-commit github workflow * update pre-commit wf action to use checkout/python setup v4 * pre-commit fixes * pyupgrade --py-311plus changes * more ci fixes * change pyupgrade to --py310-plus * put back union on RLock/DebugRlock * change pyupgrade to --py39-plus to prevent rewriting unions * move do_login/do_logout_query to pulse_connection * move last_login_time to pulse_connection * fix missing bool functions in sync_check code * move retry_after to pulse_connection * fix defaults on keepalive/relogin interval on pyadtpulse constructor * retry after handling * move authenticated_flag to pulse_connection, make updates exist never None * add requires_authentication flag to async_query() * move retry increment earlier in case of None response * add requires_authentication to query() * remove relative imports * set and clear authenticated flag on login/logout * re-work login/logout * fix logging for authentication flag in async_query() * make sync_task and keepalive_task inner functions * add detailed debug logging to pulse_connection * make private methods public * fix parse_pulse_datetime * fix _compute_login_backoff * rework _do_relogin_with_backoff * move _check_service_host to pulse_connection * add pulse_connection tests * move check_service_host to pulse_connection * test fixes * revert relative imports * move username/password/fingerprint validation to pulse_connection * site code enhanements * revert site code enhancements * fetch_devices refactoring * add test_site * add response is None check * add test_pyadtpulse * rework async_query to return tuple, remove close_response() * move build system to poetry * bump version to 1.1.4b0 * move test_pyadtpulse.py to tests * change default http headers to new values * add data parameter to query/async_query * rework http code * pass detailed_debug_logging in example-client * copy response_path before closing response in async_fetch_version * add session.close() to finally in async_query * urlencode http login parameters * move check for invalid login types to pulse_connection * rework async_login again * add refurb to development dependencies * put back async_do_login_query inner functions * add network id to login parameters if not none * remove close session in async_query * more async_do_login_query rework * more async_query related rework * add sec-fetch headers * more http headers * even more http header rework * more header updates * add connection failure reason * more http rework * bump to 1.1.4b1 * downgrade aiohttp to 3.8.4 * move examples to example subdirectory * add doc, examples, changelog to pyproject.toml * bump version to b2 * move example-client back to root directory * break pulse_connection into smaller subclasses * debug lock fixes to site * bump version to 1.1.4b3 * break pyadtpulse object into smaller classes * add bs4 dependency * don't use aiohttp 3.8.6 * add typeguard * pulse_connection_info tests and fixes * pulse_query_manager tests * more class changes * pre-commit fixes * remove tests for now * bump version to b4 * add typeguard to requirements.txt * testing infrastructure * more testing infrastructure * more testing infrastructure * add backoff object * add login_in_progress flag * fix sync object * add check_async for __init__ * add client_error and server_error to ConnectionFailureReason * backoff tests and fixes * fix login_in_progress flag * rework backoff * reset connection failure on success * move query backoff to async_query * pre-commit hook fixes * rework async_query again * add html change for zones introduced in pulse v27 * pqm exception tests * update pre-commit hooks and refurb fixes * exception testing and fixes to pqm * more pqm tests and fixes * break site properties out from site * initial pc tests * remove DEFAULT_API_VERSION * add pqm test version fail * add check of api version string * more pc tests and fixes * updates for pulse v27 * pc tests and fixes * fix various auth failures in pc * restrict update_zones_from soup to orb div in html * pc tests and fixes * pa test fixes * rollback div html check * fix zone parsing in site * change connectionfailurereason to exceptions * fixes for new exception handling * update tests for exceptions * fix sync updates_exist * remove websession parameter, add clear_session to pcp and call it on login * allocate clientsession on demand * _handle_network_errors fix * add PulseNotLoggedInError exception * add check_login_errors and have sync check call it * fix last event parsing to strip leading and trailing spaces before date parse * more test fixes and regular fixes * add superclasses for exceptions * fix relogin interval in keepalive task * move authentication wait to just before the session.request in async_query * add detailed debug logging to backoffs * changed some pqm warnings to debug, and fetch_version debugs to warnings * don't log backoff reset if backoff count was 0 * add asyncio.Timeout exception handling to pqm * pqm exception type tests and fixes * add __str__ and __repr__ to exceptions * exception tests and fixes * add test_site_properties * zones tests and fixes * pcp tests and fixes * add test_pulse_connection_status * add test_gateway and fixes * add codium pqm tests * add coverage to poetry test group * add pytest-coverage * add coverage * add more coverage * add pytest-xdist, make coverage not default * add test_pap * add codium paa tests * move authenticated flag clear before query in asyc_do_login_query * clean up detailed debug logging * pulse async tests and fixes * add quick_logout to pc * reword detailed_debug_logging again * more tests and fixes * remove backoffs from login exceptions * more tests and fixes * even more tests and fixes * fix loop_login, change exception handling in wait_for_update * add gateway offline data files * add gateway offline handling * bump version to 1.2.0b1 * revert bs optimization in update_zone_from_soup * always update alarm sat * remove unused _login_exception in pulse properties * add passthrough of keepalive and relogin_interval * bump version to 1.2.0b2 * bump aiohttp version to 3.9.1 * add gateway offline tests * bump aioresponses to 0.7.6 for aiohttp 3.9.1 * gateway offline tests and fixes * don't use query backoff if we have a connection backoff * MAX_RETRIES -> MAX_REQUERY_RETRIES * more tests and fixes * black changes * more black fixes * more black fixes * more black fixes * more robust exception handling in example-client * add deprecation warning to sync api * fix have_updates in sync_check * don't print info if have exception in example_client * don't do gateway backoff if we have an update * fix sync check requery * revert clear_session() * fix some logging statements * bump version to 1.2.0b3 * black fix * more log fixes * update changelog * have gateway reset its backoff when it goes back online * fix gateway backoff in sync task * bump version to 1.2.0b4 * bump version to 1.2.0 * add 1.1.4 and 1.1.5 changelog
* call property methods on keepalive/relogin in __init__ to make sure not None * revert previous commit * change wait_for_update to return False if an update failed * change optional property setters to int | None * back off relogin with multiple sync check fails * re-factor async_query and async_fetch_version * move _sync_check near _keepalive_task to make them easier to find * refactor sync check task * refactor keepalive_task * refactor _fetch_devices * refactor zones * add docstrings, make a few things constants * partial revert 800e24f * change zones variables to snake case * rework sync_check_task * add gateway pytests * add alarm panel tests * fix extra whitespace in util.py * fix extra whitespace in util.py * add test_util.py * parse_pulse_datetime fixes * attempt to fix handle_response tests * add detailed debug logging * max_retries -> MAX_RETRIES * log url instead of uri in async_query() * update black.yml to use checkoutv4 * add setup-python to black.yml * add pre-commit github workflow * update pre-commit wf action to use checkout/python setup v4 * pre-commit fixes * pyupgrade --py-311plus changes * more ci fixes * change pyupgrade to --py310-plus * put back union on RLock/DebugRlock * change pyupgrade to --py39-plus to prevent rewriting unions * move do_login/do_logout_query to pulse_connection * move last_login_time to pulse_connection * fix missing bool functions in sync_check code * move retry_after to pulse_connection * fix defaults on keepalive/relogin interval on pyadtpulse constructor * retry after handling * move authenticated_flag to pulse_connection, make updates exist never None * add requires_authentication flag to async_query() * move retry increment earlier in case of None response * add requires_authentication to query() * remove relative imports * set and clear authenticated flag on login/logout * re-work login/logout * fix logging for authentication flag in async_query() * make sync_task and keepalive_task inner functions * add detailed debug logging to pulse_connection * make private methods public * fix parse_pulse_datetime * fix _compute_login_backoff * rework _do_relogin_with_backoff * move _check_service_host to pulse_connection * add pulse_connection tests * move check_service_host to pulse_connection * test fixes * revert relative imports * move username/password/fingerprint validation to pulse_connection * site code enhanements * revert site code enhancements * fetch_devices refactoring * add test_site * add response is None check * add test_pyadtpulse * rework async_query to return tuple, remove close_response() * move build system to poetry * bump version to 1.1.4b0 * move test_pyadtpulse.py to tests * change default http headers to new values * add data parameter to query/async_query * rework http code * pass detailed_debug_logging in example-client * copy response_path before closing response in async_fetch_version * add session.close() to finally in async_query * urlencode http login parameters * move check for invalid login types to pulse_connection * rework async_login again * add refurb to development dependencies * put back async_do_login_query inner functions * add network id to login parameters if not none * remove close session in async_query * more async_do_login_query rework * more async_query related rework * add sec-fetch headers * more http headers * even more http header rework * more header updates * add connection failure reason * more http rework * bump to 1.1.4b1 * downgrade aiohttp to 3.8.4 * move examples to example subdirectory * add doc, examples, changelog to pyproject.toml * bump version to b2 * move example-client back to root directory * break pulse_connection into smaller subclasses * debug lock fixes to site * bump version to 1.1.4b3 * break pyadtpulse object into smaller classes * add bs4 dependency * don't use aiohttp 3.8.6 * add typeguard * pulse_connection_info tests and fixes * pulse_query_manager tests * more class changes * pre-commit fixes * remove tests for now * bump version to b4 * add typeguard to requirements.txt * testing infrastructure * more testing infrastructure * more testing infrastructure * add backoff object * add login_in_progress flag * fix sync object * add check_async for __init__ * add client_error and server_error to ConnectionFailureReason * backoff tests and fixes * fix login_in_progress flag * rework backoff * reset connection failure on success * move query backoff to async_query * pre-commit hook fixes * rework async_query again * add html change for zones introduced in pulse v27 * pqm exception tests * update pre-commit hooks and refurb fixes * exception testing and fixes to pqm * more pqm tests and fixes * break site properties out from site * initial pc tests * remove DEFAULT_API_VERSION * add pqm test version fail * add check of api version string * more pc tests and fixes * updates for pulse v27 * pc tests and fixes * fix various auth failures in pc * restrict update_zones_from soup to orb div in html * pc tests and fixes * pa test fixes * rollback div html check * fix zone parsing in site * change connectionfailurereason to exceptions * fixes for new exception handling * update tests for exceptions * fix sync updates_exist * remove websession parameter, add clear_session to pcp and call it on login * allocate clientsession on demand * _handle_network_errors fix * add PulseNotLoggedInError exception * add check_login_errors and have sync check call it * fix last event parsing to strip leading and trailing spaces before date parse * more test fixes and regular fixes * add superclasses for exceptions * fix relogin interval in keepalive task * move authentication wait to just before the session.request in async_query * add detailed debug logging to backoffs * changed some pqm warnings to debug, and fetch_version debugs to warnings * don't log backoff reset if backoff count was 0 * add asyncio.Timeout exception handling to pqm * pqm exception type tests and fixes * add __str__ and __repr__ to exceptions * exception tests and fixes * add test_site_properties * zones tests and fixes * pcp tests and fixes * add test_pulse_connection_status * add test_gateway and fixes * add codium pqm tests * add coverage to poetry test group * add pytest-coverage * add coverage * add more coverage * add pytest-xdist, make coverage not default * add test_pap * add codium paa tests * move authenticated flag clear before query in asyc_do_login_query * clean up detailed debug logging * pulse async tests and fixes * add quick_logout to pc * reword detailed_debug_logging again * more tests and fixes * remove backoffs from login exceptions * more tests and fixes * even more tests and fixes * fix loop_login, change exception handling in wait_for_update * add gateway offline data files * add gateway offline handling * bump version to 1.2.0b1 * revert bs optimization in update_zone_from_soup * always update alarm sat * remove unused _login_exception in pulse properties * add passthrough of keepalive and relogin_interval * bump version to 1.2.0b2 * bump aiohttp version to 3.9.1 * add gateway offline tests * bump aioresponses to 0.7.6 for aiohttp 3.9.1 * gateway offline tests and fixes * don't use query backoff if we have a connection backoff * MAX_RETRIES -> MAX_REQUERY_RETRIES * more tests and fixes * black changes * more black fixes * more black fixes * more black fixes * more robust exception handling in example-client * add deprecation warning to sync api * fix have_updates in sync_check * don't print info if have exception in example_client * don't do gateway backoff if we have an update * fix sync check requery * revert clear_session() * fix some logging statements * bump version to 1.2.0b3 * black fix * more log fixes * update changelog * have gateway reset its backoff when it goes back online * fix gateway backoff in sync task * bump version to 1.2.0b4 * bump version to 1.2.0 * add 1.1.4 and 1.1.5 changelog
* switch from bs4 to lxmlre * remove requirement that zone.last_activity_timestamp be greater than 2015 * catch site_id is None for async_logout in pyadtpulse_async * log sync task shutting down as error, not info * fix zone last update time parsing * add more detailed login error messages * bump version * refactor get_zone_from_etree * first pass at zone update optimization * 2nd pass at zone update optimization * fix zone update optimization * fix parse_pulse_datetime to correctly handle datetimes in the past * _update_sites -> _update_site * change wait_for_update to return updated zones/alarm status * use pyadtpulseasync in async_example in example_client * bump version to 1.2.6b1 * update changelog * add warning to readme for browser fingerprinting * bump version to 1.2.6 * catch runtime error on async_logout as well as value error * add aiohttp-zlib-ng * update changelog and bump version to 1.2.7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bandit found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
I've been using ruff instead of pylint/flake8/black/isort. And I switched to poetry to keep the dev, test, and package dependencies separate. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Merge from my pyadtpulse repo