diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-plugp100.spec | 222 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 224 insertions, 0 deletions
@@ -0,0 +1 @@ +/plugp100-2.5.1.tar.gz diff --git a/python-plugp100.spec b/python-plugp100.spec new file mode 100644 index 0000000..26159e7 --- /dev/null +++ b/python-plugp100.spec @@ -0,0 +1,222 @@ +%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("<ip>", "<email>", "<passwd>") + 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("<ip>", "<email>", "<passwd>") + 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("<ip>", "<email>", "<passwd>") + 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 <Python_Bot@openeuler.org> - 2.5.1-1 +- Package Spec generated @@ -0,0 +1 @@ +b04a8bf96a2e6b8ff2b912f2b58dca48 plugp100-2.5.1.tar.gz |