%global _empty_manifest_terminate_build 0 Name: python-bond-api Version: 0.1.18 Release: 1 Summary: Asynchronous Python wrapper library over Bond Local API License: MIT URL: https://github.com/prystupa/bond-api Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fc/b1/b926a7b3eccea7749f91592b87209435c49471d4bcd148a4ce414986101b/bond_api-0.1.18.tar.gz BuildArch: noarch Requires: python3-aiohttp %description # bond-api Asynchronous Python wrapper library over Bond Local API ## Installation From PyPi: ```bash pip3 install bond-api ``` ## Library Usage ```python3 import asyncio from aiohttp import ClientResponseError, ClientConnectorError from bond_api import Bond, Action async def main(): """Example of library usage.""" bond = Bond("[your ip or hostname here]", "[your bond API token here]") try: print("Version:") print(await bond.version()) print("Device IDs:") device_ids = await bond.devices() print(device_ids) print("Devices:") devices = await asyncio.gather(*[bond.device(device_id) for device_id in device_ids]) print(devices) print("Devices Properties:") properties = await asyncio.gather(*[bond.device_properties(device_id) for device_id in device_ids]) print(properties) print("Devices State:") state = await asyncio.gather(*[bond.device_state(device_id) for device_id in device_ids]) print(state) print("Turn on fan!") await bond.action("[your fan device ID here]", Action.turn_on()) print("Change fan speed!") await bond.action("[your fan device ID here]", Action.set_speed(2)) print("Turn off fan!") await bond.action("[your fan device ID here]", Action.turn_off()) except ClientResponseError as x: print("Client response error: ", x) except ClientConnectorError as x: print("Client connector error: ", x) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` %package -n python3-bond-api Summary: Asynchronous Python wrapper library over Bond Local API Provides: python-bond-api BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-bond-api # bond-api Asynchronous Python wrapper library over Bond Local API ## Installation From PyPi: ```bash pip3 install bond-api ``` ## Library Usage ```python3 import asyncio from aiohttp import ClientResponseError, ClientConnectorError from bond_api import Bond, Action async def main(): """Example of library usage.""" bond = Bond("[your ip or hostname here]", "[your bond API token here]") try: print("Version:") print(await bond.version()) print("Device IDs:") device_ids = await bond.devices() print(device_ids) print("Devices:") devices = await asyncio.gather(*[bond.device(device_id) for device_id in device_ids]) print(devices) print("Devices Properties:") properties = await asyncio.gather(*[bond.device_properties(device_id) for device_id in device_ids]) print(properties) print("Devices State:") state = await asyncio.gather(*[bond.device_state(device_id) for device_id in device_ids]) print(state) print("Turn on fan!") await bond.action("[your fan device ID here]", Action.turn_on()) print("Change fan speed!") await bond.action("[your fan device ID here]", Action.set_speed(2)) print("Turn off fan!") await bond.action("[your fan device ID here]", Action.turn_off()) except ClientResponseError as x: print("Client response error: ", x) except ClientConnectorError as x: print("Client connector error: ", x) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` %package help Summary: Development documents and examples for bond-api Provides: python3-bond-api-doc %description help # bond-api Asynchronous Python wrapper library over Bond Local API ## Installation From PyPi: ```bash pip3 install bond-api ``` ## Library Usage ```python3 import asyncio from aiohttp import ClientResponseError, ClientConnectorError from bond_api import Bond, Action async def main(): """Example of library usage.""" bond = Bond("[your ip or hostname here]", "[your bond API token here]") try: print("Version:") print(await bond.version()) print("Device IDs:") device_ids = await bond.devices() print(device_ids) print("Devices:") devices = await asyncio.gather(*[bond.device(device_id) for device_id in device_ids]) print(devices) print("Devices Properties:") properties = await asyncio.gather(*[bond.device_properties(device_id) for device_id in device_ids]) print(properties) print("Devices State:") state = await asyncio.gather(*[bond.device_state(device_id) for device_id in device_ids]) print(state) print("Turn on fan!") await bond.action("[your fan device ID here]", Action.turn_on()) print("Change fan speed!") await bond.action("[your fan device ID here]", Action.set_speed(2)) print("Turn off fan!") await bond.action("[your fan device ID here]", Action.turn_off()) except ClientResponseError as x: print("Client response error: ", x) except ClientConnectorError as x: print("Client connector error: ", x) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` %prep %autosetup -n bond-api-0.1.18 %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-bond-api -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.1.18-1 - Package Spec generated