Skip to content
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

Refactor the base module and make it an API for low level commands #2615

Closed
wants to merge 33 commits into from

Conversation

MattHag
Copy link
Collaborator

@MattHag MattHag commented Sep 28, 2024

  • Remove imports of hidapi and make it a child of base
  • Remove cross-references of hidapi and base and pass base as low level at instantiation

This module shouldn't be necessary on the long run. Remove pieces from
it whenever possible.
Enforce a total coverage of 40% of the code.

Related pwr-Solaar#1097
Create coverage.xml, upload it to GitHub CI and visualize with codecov.

Setup instruction:
- Install codecov for project
  https://github.com/settings/installations/55029514
- Add CODECOV_TOKEN in the GitHub CI project secrets

Related pwr-Solaar#1097
- Remove comments with unused receivers
- Simplify receiver hardcoded info
Name the key symbol mapping different than the module itself.
Linux uses udev, other platforms use the cross-platform hidapi
implementation. Remove implicit loading of hidapi in hidapi/__init__.py.
Split model and view, and enable view mocks for unit tests without GDK.
Clean up, type hint and tests base_usb and related modules.
Avoid the need for hidapi imports and add them to the base API module.
Avoid direct access to hidapi and use the base module as low-level API
instead. This change replaces the remaining calls to find_paired_node
and find_paired_node_wpid by exposing them via base module.
With this test all receiver tests are macOS compatible again. The low
level interface supports passing a fake API for unit tests.
A module level function is sufficient, no wrapper needed.
@MattHag MattHag changed the title Refactor the base into an API Refactor the base module and make it an API for low level commands Sep 28, 2024
@MattHag MattHag closed this Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant