diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:08:30 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:08:30 +0000 |
commit | 822f411ec03c4d521cadd307339b724f1ccc26b0 (patch) | |
tree | f3553a209fe490ef4fa02e1b9c722d96a385d36b /python-imow-webapi.spec | |
parent | 49894dd0e62762de9d5ff00a78e0ddf4f6b619ab (diff) |
automatic import of python-imow-webapiopeneuler20.03
Diffstat (limited to 'python-imow-webapi.spec')
-rw-r--r-- | python-imow-webapi.spec | 466 |
1 files changed, 466 insertions, 0 deletions
diff --git a/python-imow-webapi.spec b/python-imow-webapi.spec new file mode 100644 index 0000000..cae60e9 --- /dev/null +++ b/python-imow-webapi.spec @@ -0,0 +1,466 @@ +%global _empty_manifest_terminate_build 0 +Name: python-imow-webapi +Version: 0.7.10 +Release: 1 +Summary: A library to authenticate and interact with STIHL iMow mowers using their WebAPI +License: GPL +URL: https://github.com/ChrisHaPunkt/stihl-imow-webapi +Source0: https://mirrors.aliyun.com/pypi/web/packages/b9/c4/fac120beabe780596fe9d9156ad8ab3a585fccb8de1409c8b04f7af552d2/imow-webapi-0.7.10.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-beautifulsoup4 +Requires: python3-furl +Requires: python3-setuptools + +%description +| chris@homeset.de | [ChrisHaPunkt](https://github.com/ChrisHaPunkt) | +## License +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) +license file for more details. +# Acknowledges +Thanks to +* https://github.com/nstrydom2/anonfile-api +* https://github.com/OpenXbox/xbox-webapi-python +for repo structure inspiration +# Changelog +## Version 0.7.10 (2023-05-13) +- Bugfix http_session not present on logout +## Version 0.7.9 (2023-05-13) +- remove unnecessary http_session closes +## Version 0.7.8 (2022-03-06) +- Implement a logout function `ImowAPI.api_logout()`. Use within re-authentication +## Version 0.7.7 (2022-03-06) +- Use more `async with`s +## Version 0.7.6 (2022-03-05) +### Dependency updates +- Update dependencies to latest +## Version 0.7.4 (2021-09-06) +### Bugfxes +- Allow handling of timestamps on mower intents (StartTime/Endtime) +## Version 0.7.3 (2021-07-03) +### Bugfxes +- Always return a MowerState on settings update +## Version 0.7.2 (2021-07-03) +```python +await mower.update_setting("gpsProtectionEnabled", True) +``` +### Features +- Possibility to update a specific settings for a mower like gpsProtection on/off +## Version 0.7.0 (2021-06-30) +### Breaking Changes +- `IMowApi.intent` Parameter `mower_action_id` is renamed to `mower_external_id` to match the upstream api expectation. +### Features +- If an `api_request` is intended, and the used `access_token` expires in less than one day, it's automatically renewed. +## Version 0.6.0 (2021-06-28) +- ```python + mower.machineError = 'M1120', + mower.machineState = 'HOOD_BLOCKED', + mower.stateMessage: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` +### Breaking Changes +- Migrated all own MowerState attributes to camelCase to match the upstream attributes style. + ``` + - MowerState.stateMessage = None + - MowerState.machineError = None + - MowerState.machineState = None + ``` +## Version 0.5.2 (2021-06-15) +## Bugfixes +- Also quote password string in auth request to support more special chars +## Version 0.5.1 (2021-06-13) +## Features +- ```python + mower.machine_error = 'M1120', + mower.machine_state = 'HOOD_BLOCKED', + mower.state_message: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` + Provide a machine usable string from the short message in english +## Version 0.5.0 (2021-06-12) +### Breaking Changes +- The ``MowerTask`` class is removed in favor of the new ``state_message`` property on th ``MowerState`` object. +- The ``MowerState.get_current_task()`` method now returns the `short` property of the state message instead of a ``MowerTask`` + property and is now longer an ``async`` method. +### Features +- ```python + mower.state_message -> dict + { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'errorId': 'M1120', + 'error': True + } + ``` + The MowerState Class now provides a ```state_message``` property which gives a ``short`` and``long`` text for + description (Besides an error indication and errorId). All error and status codes are now dynamically matched and + human readable available. + **This makes the ``MowerTask`` obsolete and it is removed with this release.** +- ``api = IMowApi(lang="en")`` + The imow api can now be instanced with a language code (fallback to ``en``). + The ``state_message`` property displays the messages in the corresponding language. +## Version 0.4.5 (2021-06-01) +### Features +- Add 2 new identified Tasks within `MowerTask` (Thanks to @lausser) +- Add `check_api_maintenance()` method to `IMowAPI` Class. Check if the api server is currently under maintenance. + This method is automatically called if the api server returns a 500 error response for any request. +- One should call the new `close()` method for the `IMowAPI` Class when finishing the api interactions to correctly + close the http session. +### Bugfixes +- [Issue #8](https://github.com/ChrisHaPunkt/stihl-imow-webapi/issues/8) - Example not working +## Version 0.4.4 (2021-05-28) +### Features +- Add `validate_token()` method to `IMowAPI` Class. Test if a token is valid and is able to call the webapi. +## Version 0.4.3 (2021-05-27) +### Features +- Allow `IMowAPI` Class to use predefined `aiohttp` session when instantiating +## Version 0.4.1 (2021-05-24) +### Changes +- Even more asynchronously with switch from `requests` to `aiohttp` +## Version 0.4.0 (2021-05-17) +### Breaking Changes +- Reworked everything to use asyncio where possible. See Readme.md for new usage example. +- Renamed MowerState method `update` to `update_from_upstream` +- Renamed MowerState method `get_status` to `get_current_status` +## Version 0.3.0 (2021-05-17) +### Breaking Changes +- Renamed Class/Enum `MowerState` to `MowerTask` because it describes the current task not the state +- Renamed Class `Mower` to `MowerState` because it's just a snapshot of the last upstream state +### Features +- Add methods to work on `MowerState` objects, like action intents or statistic receive +- Add PDoc documents, available + on [https://chrishapunkt.github.io/stihl-imow-webapi/imow](https://chrishapunkt.github.io/stihl-imow-webapi/imow) +### Bugfixes +- Return a valid error message and raise if provided login credentials are wrong +## Version 0.2.2 (2021-05-00) +- Initial release + +%package -n python3-imow-webapi +Summary: A library to authenticate and interact with STIHL iMow mowers using their WebAPI +Provides: python-imow-webapi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-imow-webapi +| chris@homeset.de | [ChrisHaPunkt](https://github.com/ChrisHaPunkt) | +## License +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) +license file for more details. +# Acknowledges +Thanks to +* https://github.com/nstrydom2/anonfile-api +* https://github.com/OpenXbox/xbox-webapi-python +for repo structure inspiration +# Changelog +## Version 0.7.10 (2023-05-13) +- Bugfix http_session not present on logout +## Version 0.7.9 (2023-05-13) +- remove unnecessary http_session closes +## Version 0.7.8 (2022-03-06) +- Implement a logout function `ImowAPI.api_logout()`. Use within re-authentication +## Version 0.7.7 (2022-03-06) +- Use more `async with`s +## Version 0.7.6 (2022-03-05) +### Dependency updates +- Update dependencies to latest +## Version 0.7.4 (2021-09-06) +### Bugfxes +- Allow handling of timestamps on mower intents (StartTime/Endtime) +## Version 0.7.3 (2021-07-03) +### Bugfxes +- Always return a MowerState on settings update +## Version 0.7.2 (2021-07-03) +```python +await mower.update_setting("gpsProtectionEnabled", True) +``` +### Features +- Possibility to update a specific settings for a mower like gpsProtection on/off +## Version 0.7.0 (2021-06-30) +### Breaking Changes +- `IMowApi.intent` Parameter `mower_action_id` is renamed to `mower_external_id` to match the upstream api expectation. +### Features +- If an `api_request` is intended, and the used `access_token` expires in less than one day, it's automatically renewed. +## Version 0.6.0 (2021-06-28) +- ```python + mower.machineError = 'M1120', + mower.machineState = 'HOOD_BLOCKED', + mower.stateMessage: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` +### Breaking Changes +- Migrated all own MowerState attributes to camelCase to match the upstream attributes style. + ``` + - MowerState.stateMessage = None + - MowerState.machineError = None + - MowerState.machineState = None + ``` +## Version 0.5.2 (2021-06-15) +## Bugfixes +- Also quote password string in auth request to support more special chars +## Version 0.5.1 (2021-06-13) +## Features +- ```python + mower.machine_error = 'M1120', + mower.machine_state = 'HOOD_BLOCKED', + mower.state_message: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` + Provide a machine usable string from the short message in english +## Version 0.5.0 (2021-06-12) +### Breaking Changes +- The ``MowerTask`` class is removed in favor of the new ``state_message`` property on th ``MowerState`` object. +- The ``MowerState.get_current_task()`` method now returns the `short` property of the state message instead of a ``MowerTask`` + property and is now longer an ``async`` method. +### Features +- ```python + mower.state_message -> dict + { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'errorId': 'M1120', + 'error': True + } + ``` + The MowerState Class now provides a ```state_message``` property which gives a ``short`` and``long`` text for + description (Besides an error indication and errorId). All error and status codes are now dynamically matched and + human readable available. + **This makes the ``MowerTask`` obsolete and it is removed with this release.** +- ``api = IMowApi(lang="en")`` + The imow api can now be instanced with a language code (fallback to ``en``). + The ``state_message`` property displays the messages in the corresponding language. +## Version 0.4.5 (2021-06-01) +### Features +- Add 2 new identified Tasks within `MowerTask` (Thanks to @lausser) +- Add `check_api_maintenance()` method to `IMowAPI` Class. Check if the api server is currently under maintenance. + This method is automatically called if the api server returns a 500 error response for any request. +- One should call the new `close()` method for the `IMowAPI` Class when finishing the api interactions to correctly + close the http session. +### Bugfixes +- [Issue #8](https://github.com/ChrisHaPunkt/stihl-imow-webapi/issues/8) - Example not working +## Version 0.4.4 (2021-05-28) +### Features +- Add `validate_token()` method to `IMowAPI` Class. Test if a token is valid and is able to call the webapi. +## Version 0.4.3 (2021-05-27) +### Features +- Allow `IMowAPI` Class to use predefined `aiohttp` session when instantiating +## Version 0.4.1 (2021-05-24) +### Changes +- Even more asynchronously with switch from `requests` to `aiohttp` +## Version 0.4.0 (2021-05-17) +### Breaking Changes +- Reworked everything to use asyncio where possible. See Readme.md for new usage example. +- Renamed MowerState method `update` to `update_from_upstream` +- Renamed MowerState method `get_status` to `get_current_status` +## Version 0.3.0 (2021-05-17) +### Breaking Changes +- Renamed Class/Enum `MowerState` to `MowerTask` because it describes the current task not the state +- Renamed Class `Mower` to `MowerState` because it's just a snapshot of the last upstream state +### Features +- Add methods to work on `MowerState` objects, like action intents or statistic receive +- Add PDoc documents, available + on [https://chrishapunkt.github.io/stihl-imow-webapi/imow](https://chrishapunkt.github.io/stihl-imow-webapi/imow) +### Bugfixes +- Return a valid error message and raise if provided login credentials are wrong +## Version 0.2.2 (2021-05-00) +- Initial release + +%package help +Summary: Development documents and examples for imow-webapi +Provides: python3-imow-webapi-doc +%description help +| chris@homeset.de | [ChrisHaPunkt](https://github.com/ChrisHaPunkt) | +## License +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) +license file for more details. +# Acknowledges +Thanks to +* https://github.com/nstrydom2/anonfile-api +* https://github.com/OpenXbox/xbox-webapi-python +for repo structure inspiration +# Changelog +## Version 0.7.10 (2023-05-13) +- Bugfix http_session not present on logout +## Version 0.7.9 (2023-05-13) +- remove unnecessary http_session closes +## Version 0.7.8 (2022-03-06) +- Implement a logout function `ImowAPI.api_logout()`. Use within re-authentication +## Version 0.7.7 (2022-03-06) +- Use more `async with`s +## Version 0.7.6 (2022-03-05) +### Dependency updates +- Update dependencies to latest +## Version 0.7.4 (2021-09-06) +### Bugfxes +- Allow handling of timestamps on mower intents (StartTime/Endtime) +## Version 0.7.3 (2021-07-03) +### Bugfxes +- Always return a MowerState on settings update +## Version 0.7.2 (2021-07-03) +```python +await mower.update_setting("gpsProtectionEnabled", True) +``` +### Features +- Possibility to update a specific settings for a mower like gpsProtection on/off +## Version 0.7.0 (2021-06-30) +### Breaking Changes +- `IMowApi.intent` Parameter `mower_action_id` is renamed to `mower_external_id` to match the upstream api expectation. +### Features +- If an `api_request` is intended, and the used `access_token` expires in less than one day, it's automatically renewed. +## Version 0.6.0 (2021-06-28) +- ```python + mower.machineError = 'M1120', + mower.machineState = 'HOOD_BLOCKED', + mower.stateMessage: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` +### Breaking Changes +- Migrated all own MowerState attributes to camelCase to match the upstream attributes style. + ``` + - MowerState.stateMessage = None + - MowerState.machineError = None + - MowerState.machineState = None + ``` +## Version 0.5.2 (2021-06-15) +## Bugfixes +- Also quote password string in auth request to support more special chars +## Version 0.5.1 (2021-06-13) +## Features +- ```python + mower.machine_error = 'M1120', + mower.machine_state = 'HOOD_BLOCKED', + mower.state_message: dict = { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'legacyMessage': 'Abschaltung Automatikmode durch Bumper', + 'errorId': 'M1120', + 'error': True + } + ``` + Provide a machine usable string from the short message in english +## Version 0.5.0 (2021-06-12) +### Breaking Changes +- The ``MowerTask`` class is removed in favor of the new ``state_message`` property on th ``MowerState`` object. +- The ``MowerState.get_current_task()`` method now returns the `short` property of the state message instead of a ``MowerTask`` + property and is now longer an ``async`` method. +### Features +- ```python + mower.state_message -> dict + { + 'short': 'Hood blocked', + 'long': 'The hood is blocked. Please check the hood and press the OK button on your machine (M1120).', + 'errorId': 'M1120', + 'error': True + } + ``` + The MowerState Class now provides a ```state_message``` property which gives a ``short`` and``long`` text for + description (Besides an error indication and errorId). All error and status codes are now dynamically matched and + human readable available. + **This makes the ``MowerTask`` obsolete and it is removed with this release.** +- ``api = IMowApi(lang="en")`` + The imow api can now be instanced with a language code (fallback to ``en``). + The ``state_message`` property displays the messages in the corresponding language. +## Version 0.4.5 (2021-06-01) +### Features +- Add 2 new identified Tasks within `MowerTask` (Thanks to @lausser) +- Add `check_api_maintenance()` method to `IMowAPI` Class. Check if the api server is currently under maintenance. + This method is automatically called if the api server returns a 500 error response for any request. +- One should call the new `close()` method for the `IMowAPI` Class when finishing the api interactions to correctly + close the http session. +### Bugfixes +- [Issue #8](https://github.com/ChrisHaPunkt/stihl-imow-webapi/issues/8) - Example not working +## Version 0.4.4 (2021-05-28) +### Features +- Add `validate_token()` method to `IMowAPI` Class. Test if a token is valid and is able to call the webapi. +## Version 0.4.3 (2021-05-27) +### Features +- Allow `IMowAPI` Class to use predefined `aiohttp` session when instantiating +## Version 0.4.1 (2021-05-24) +### Changes +- Even more asynchronously with switch from `requests` to `aiohttp` +## Version 0.4.0 (2021-05-17) +### Breaking Changes +- Reworked everything to use asyncio where possible. See Readme.md for new usage example. +- Renamed MowerState method `update` to `update_from_upstream` +- Renamed MowerState method `get_status` to `get_current_status` +## Version 0.3.0 (2021-05-17) +### Breaking Changes +- Renamed Class/Enum `MowerState` to `MowerTask` because it describes the current task not the state +- Renamed Class `Mower` to `MowerState` because it's just a snapshot of the last upstream state +### Features +- Add methods to work on `MowerState` objects, like action intents or statistic receive +- Add PDoc documents, available + on [https://chrishapunkt.github.io/stihl-imow-webapi/imow](https://chrishapunkt.github.io/stihl-imow-webapi/imow) +### Bugfixes +- Return a valid error message and raise if provided login credentials are wrong +## Version 0.2.2 (2021-05-00) +- Initial release + +%prep +%autosetup -n imow-webapi-0.7.10 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-imow-webapi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.10-1 +- Package Spec generated |