diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 14:43:38 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 14:43:38 +0000 |
commit | 50adfba7ccd4736a25af7a88cd35b23e39dadc29 (patch) | |
tree | e11813af8f652993c24cfb41deb5cc486252bbb4 | |
parent | 4ac77377faa89b2d61df63b94f24bad5e78f7370 (diff) |
automatic import of python-surepyopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-surepy.spec | 275 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 277 insertions, 0 deletions
@@ -0,0 +1 @@ +/surepy-0.8.0.tar.gz diff --git a/python-surepy.spec b/python-surepy.spec new file mode 100644 index 0000000..997c29a --- /dev/null +++ b/python-surepy.spec @@ -0,0 +1,275 @@ +%global _empty_manifest_terminate_build 0 +Name: python-surepy +Version: 0.8.0 +Release: 1 +Summary: Library to interact with the flaps & doors from Sure Petcare. +License: MIT +URL: https://github.com/benleb/surepy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/48/34/e75e3e08b4a86ca1fba2410ac576b3991915acd9e702aab9a86f7fa13076/surepy-0.8.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp[speedups] +Requires: python3-async-timeout +Requires: python3-click +Requires: python3-requests +Requires: python3-rich + +%description +[**surepy**](https://github.com/benleb/surepy) features: +๐ **get an api token** with your account credentials +๐ช **lock/unlock** a door or flap +๐พ get the **location** of **pets** & **devices** +๐ get the **state** and more attributes of **pets** & **devices** +๐ฐ๏ธ get **historic** data & events of pets & devices +๐ฌ get a list of (past) **notifications** +<!-- > **ToC ยท** [Getting Started](#getting-started) ยท [Usage](#usage)ยท [Used by](#used-by) ยท [Acknowledgements](#acknowledgements) **ยท** [Meta](#meta) --> +## Getting Started +[**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) +```bash +python3 -m pip install --upgrade surepy +# or +pip install --upgrade surepy +``` +there is also a small cli available +```bash +$ surepy --help +Usage: surepy [OPTIONS] COMMAND [ARGS]... + surepy cli ๐พ + https://github.com/benleb/surepy +Options: + --version show surepy version + -j, --json enable json api response output + -t, --token TEXT api token + --help Show this message and exit. +Commands: + devices get devices + locking lock control + notification get notifications + pets get pets + position set pet position + report get pet/household report + token get a token +``` +>*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐พ +## Library example +```python +import asyncio +from os import environ +from pprint import pprint +from typing import Dict, List +from surepy import Surepy +from surepy.entities import SurepyEntity +from surepy.entities.devices import SurepyDevice +from surepy.entities.pet import Pet +async def main(): + # # user/password authentication (gets a token in background) + # surepy = Surepy(email=user, password=password) + # token authentication (token supplied via SUREPY_TOKEN env var) + token = environ.get("SUREPY_TOKEN") + surepy = Surepy(auth_token=token) + # list with all pets + pets: List[Pet] = await surepy.get_pets() + for pet in pets: + print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") + pprint(pet.raw_data()) + print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") + # all entities as id-indexed dict + entities: Dict[int, SurepyEntity] = await surepy.get_entities() + # list with alldevices + devices: List[SurepyDevice] = await surepy.get_devices() + for device in devices: + print(f"{device.name = } | {device.serial = } | {device.battery_level = }") + print(f"{device.type = } | {device.unique_id = } | {device.id = }") + print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") +asyncio.run(main()) + +%package -n python3-surepy +Summary: Library to interact with the flaps & doors from Sure Petcare. +Provides: python-surepy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-surepy +[**surepy**](https://github.com/benleb/surepy) features: +๐ **get an api token** with your account credentials +๐ช **lock/unlock** a door or flap +๐พ get the **location** of **pets** & **devices** +๐ get the **state** and more attributes of **pets** & **devices** +๐ฐ๏ธ get **historic** data & events of pets & devices +๐ฌ get a list of (past) **notifications** +<!-- > **ToC ยท** [Getting Started](#getting-started) ยท [Usage](#usage)ยท [Used by](#used-by) ยท [Acknowledgements](#acknowledgements) **ยท** [Meta](#meta) --> +## Getting Started +[**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) +```bash +python3 -m pip install --upgrade surepy +# or +pip install --upgrade surepy +``` +there is also a small cli available +```bash +$ surepy --help +Usage: surepy [OPTIONS] COMMAND [ARGS]... + surepy cli ๐พ + https://github.com/benleb/surepy +Options: + --version show surepy version + -j, --json enable json api response output + -t, --token TEXT api token + --help Show this message and exit. +Commands: + devices get devices + locking lock control + notification get notifications + pets get pets + position set pet position + report get pet/household report + token get a token +``` +>*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐พ +## Library example +```python +import asyncio +from os import environ +from pprint import pprint +from typing import Dict, List +from surepy import Surepy +from surepy.entities import SurepyEntity +from surepy.entities.devices import SurepyDevice +from surepy.entities.pet import Pet +async def main(): + # # user/password authentication (gets a token in background) + # surepy = Surepy(email=user, password=password) + # token authentication (token supplied via SUREPY_TOKEN env var) + token = environ.get("SUREPY_TOKEN") + surepy = Surepy(auth_token=token) + # list with all pets + pets: List[Pet] = await surepy.get_pets() + for pet in pets: + print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") + pprint(pet.raw_data()) + print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") + # all entities as id-indexed dict + entities: Dict[int, SurepyEntity] = await surepy.get_entities() + # list with alldevices + devices: List[SurepyDevice] = await surepy.get_devices() + for device in devices: + print(f"{device.name = } | {device.serial = } | {device.battery_level = }") + print(f"{device.type = } | {device.unique_id = } | {device.id = }") + print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") +asyncio.run(main()) + +%package help +Summary: Development documents and examples for surepy +Provides: python3-surepy-doc +%description help +[**surepy**](https://github.com/benleb/surepy) features: +๐ **get an api token** with your account credentials +๐ช **lock/unlock** a door or flap +๐พ get the **location** of **pets** & **devices** +๐ get the **state** and more attributes of **pets** & **devices** +๐ฐ๏ธ get **historic** data & events of pets & devices +๐ฌ get a list of (past) **notifications** +<!-- > **ToC ยท** [Getting Started](#getting-started) ยท [Usage](#usage)ยท [Used by](#used-by) ยท [Acknowledgements](#acknowledgements) **ยท** [Meta](#meta) --> +## Getting Started +[**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) +```bash +python3 -m pip install --upgrade surepy +# or +pip install --upgrade surepy +``` +there is also a small cli available +```bash +$ surepy --help +Usage: surepy [OPTIONS] COMMAND [ARGS]... + surepy cli ๐พ + https://github.com/benleb/surepy +Options: + --version show surepy version + -j, --json enable json api response output + -t, --token TEXT api token + --help Show this message and exit. +Commands: + devices get devices + locking lock control + notification get notifications + pets get pets + position set pet position + report get pet/household report + token get a token +``` +>*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐พ +## Library example +```python +import asyncio +from os import environ +from pprint import pprint +from typing import Dict, List +from surepy import Surepy +from surepy.entities import SurepyEntity +from surepy.entities.devices import SurepyDevice +from surepy.entities.pet import Pet +async def main(): + # # user/password authentication (gets a token in background) + # surepy = Surepy(email=user, password=password) + # token authentication (token supplied via SUREPY_TOKEN env var) + token = environ.get("SUREPY_TOKEN") + surepy = Surepy(auth_token=token) + # list with all pets + pets: List[Pet] = await surepy.get_pets() + for pet in pets: + print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") + pprint(pet.raw_data()) + print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") + # all entities as id-indexed dict + entities: Dict[int, SurepyEntity] = await surepy.get_entities() + # list with alldevices + devices: List[SurepyDevice] = await surepy.get_devices() + for device in devices: + print(f"{device.name = } | {device.serial = } | {device.battery_level = }") + print(f"{device.type = } | {device.unique_id = } | {device.id = }") + print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") +asyncio.run(main()) + +%prep +%autosetup -n surepy-0.8.0 + +%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-surepy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1 +- Package Spec generated @@ -0,0 +1 @@ +1ec1488b62d89386fbb565bb549b76e4 surepy-0.8.0.tar.gz |