%global _empty_manifest_terminate_build 0 Name: python-plugp100 Version: 2.5.1 Release: 1 Summary: Controller for TP-Link Tapo P100 and other devices License: GPL3 URL: https://github.com/petretiandrea/plugp100 Source0: https://mirrors.nju.edu.cn/pypi/web/packages/15/37/374add4fcf98a9a970eb3b74731a50c20ce3374763dfb92ab454c6fd16f1/plugp100-2.5.1.tar.gz BuildArch: noarch Requires: python3-certifi Requires: python3-jsons Requires: python3-requests Requires: python3-aiohttp Requires: python3-semantic-version Requires: python3-cryptography %description # Plug P100 This is a fork of original work of [@K4CZP3R](https://github.com/K4CZP3R/tapo-p100-python) The purpose of this fork is to provide the library as PyPi package. # How to install ```pip install plugp100``` # Code example ```python import asyncio from plugp100 import TapoApiClient, TapoApiClientConfig from plugp100.domain.light_effect import LightEffectPreset async def main(): # create generic tapo api config = TapoApiClientConfig("", "", "") sw = TapoApiClient.from_config(config) await sw.login() await sw.off() state = await sw.get_state() print(state.firmware_version) print(state.is_hardware_v2) # color temperature and brightness await sw.set_color_temperature(4000) await sw.set_brightness(100) # light effect example await sw.set_light_effect(LightEffectPreset.rainbow().effect) state = await sw.get_state() print(state.get_unmapped_state()) print(state.get_unmapped_state()) print(state.get_energy_unmapped_state()) print(state.get_semantic_firmware_version()) if __name__ == "__main__": loop = asyncio.new_event_loop() loop.run_until_complete(main()) loop.run_until_complete(asyncio.sleep(0.1)) loop.close() ``` %package -n python3-plugp100 Summary: Controller for TP-Link Tapo P100 and other devices Provides: python-plugp100 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-plugp100 # Plug P100 This is a fork of original work of [@K4CZP3R](https://github.com/K4CZP3R/tapo-p100-python) The purpose of this fork is to provide the library as PyPi package. # How to install ```pip install plugp100``` # Code example ```python import asyncio from plugp100 import TapoApiClient, TapoApiClientConfig from plugp100.domain.light_effect import LightEffectPreset async def main(): # create generic tapo api config = TapoApiClientConfig("", "", "") sw = TapoApiClient.from_config(config) await sw.login() await sw.off() state = await sw.get_state() print(state.firmware_version) print(state.is_hardware_v2) # color temperature and brightness await sw.set_color_temperature(4000) await sw.set_brightness(100) # light effect example await sw.set_light_effect(LightEffectPreset.rainbow().effect) state = await sw.get_state() print(state.get_unmapped_state()) print(state.get_unmapped_state()) print(state.get_energy_unmapped_state()) print(state.get_semantic_firmware_version()) if __name__ == "__main__": loop = asyncio.new_event_loop() loop.run_until_complete(main()) loop.run_until_complete(asyncio.sleep(0.1)) loop.close() ``` %package help Summary: Development documents and examples for plugp100 Provides: python3-plugp100-doc %description help # Plug P100 This is a fork of original work of [@K4CZP3R](https://github.com/K4CZP3R/tapo-p100-python) The purpose of this fork is to provide the library as PyPi package. # How to install ```pip install plugp100``` # Code example ```python import asyncio from plugp100 import TapoApiClient, TapoApiClientConfig from plugp100.domain.light_effect import LightEffectPreset async def main(): # create generic tapo api config = TapoApiClientConfig("", "", "") sw = TapoApiClient.from_config(config) await sw.login() await sw.off() state = await sw.get_state() print(state.firmware_version) print(state.is_hardware_v2) # color temperature and brightness await sw.set_color_temperature(4000) await sw.set_brightness(100) # light effect example await sw.set_light_effect(LightEffectPreset.rainbow().effect) state = await sw.get_state() print(state.get_unmapped_state()) print(state.get_unmapped_state()) print(state.get_energy_unmapped_state()) print(state.get_semantic_firmware_version()) if __name__ == "__main__": loop = asyncio.new_event_loop() loop.run_until_complete(main()) loop.run_until_complete(asyncio.sleep(0.1)) loop.close() ``` %prep %autosetup -n plugp100-2.5.1 %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-plugp100 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon May 15 2023 Python_Bot - 2.5.1-1 - Package Spec generated