diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 07:31:05 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 07:31:05 +0000 |
| commit | 896f6454c23ec83651531e4dbe4b77ad5014b74d (patch) | |
| tree | dd89cefd188eb11a39103e11a752b327bcdd6de6 /python-pyrainbird.spec | |
| parent | ad2cc483900c3845c279913a59974d64fe0eaf37 (diff) | |
automatic import of python-pyrainbird
Diffstat (limited to 'python-pyrainbird.spec')
| -rw-r--r-- | python-pyrainbird.spec | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/python-pyrainbird.spec b/python-pyrainbird.spec new file mode 100644 index 0000000..a4f21cc --- /dev/null +++ b/python-pyrainbird.spec @@ -0,0 +1,204 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyrainbird +Version: 2.0.1 +Release: 1 +Summary: Rain Bird Controller +License: MIT +URL: https://github.com/allenporter/pyrainbird +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f7/61/9605169475f3d6d537fac4509fdc2dd4964d9dab65e73601209dc5cfadca/pyrainbird-2.0.1.tar.gz +BuildArch: noarch + +Requires: python3-pycryptodome +Requires: python3-requests +Requires: python3-PyYAML +Requires: python3-pydantic +Requires: python3-dateutil +Requires: python3-ical + +%description +Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. + +This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. + +See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. +See the [github project](https://github.com/allenporter/pyrainbird). + +# Quickstart + +This is an example usage to get the current irrigation state for all available +irrigation zones: +``` +import aiohttp +from pyrainbird import async_client + +async with aiohttp.ClientSession() as client: + controller: AsyncRainbirdController = async_client.CreateController( + client, + "192.168.1.1", + "password" + ) + zones = await controller.get_available_stations() + states = await controller.get_zone_states() + for zone in zones: + if zone in states.active_set: + print("Sprinkler zone {zone} is active") +``` + +See [examples](examples/) for additional details on how to use the APIs and an example command +line tool for querying the device. + +# Compatibility + +This library has been tested with the following devices: + + - ESP-TM2 + +You are welcome to file an issue for improved compatibility with your device especially if you +include debug logs that capture the API responses form the device. + +See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as +running the tests and other tooling used in development. + + +%package -n python3-pyrainbird +Summary: Rain Bird Controller +Provides: python-pyrainbird +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyrainbird +Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. + +This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. + +See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. +See the [github project](https://github.com/allenporter/pyrainbird). + +# Quickstart + +This is an example usage to get the current irrigation state for all available +irrigation zones: +``` +import aiohttp +from pyrainbird import async_client + +async with aiohttp.ClientSession() as client: + controller: AsyncRainbirdController = async_client.CreateController( + client, + "192.168.1.1", + "password" + ) + zones = await controller.get_available_stations() + states = await controller.get_zone_states() + for zone in zones: + if zone in states.active_set: + print("Sprinkler zone {zone} is active") +``` + +See [examples](examples/) for additional details on how to use the APIs and an example command +line tool for querying the device. + +# Compatibility + +This library has been tested with the following devices: + + - ESP-TM2 + +You are welcome to file an issue for improved compatibility with your device especially if you +include debug logs that capture the API responses form the device. + +See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as +running the tests and other tooling used in development. + + +%package help +Summary: Development documents and examples for pyrainbird +Provides: python3-pyrainbird-doc +%description help +Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. + +This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. + +See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. +See the [github project](https://github.com/allenporter/pyrainbird). + +# Quickstart + +This is an example usage to get the current irrigation state for all available +irrigation zones: +``` +import aiohttp +from pyrainbird import async_client + +async with aiohttp.ClientSession() as client: + controller: AsyncRainbirdController = async_client.CreateController( + client, + "192.168.1.1", + "password" + ) + zones = await controller.get_available_stations() + states = await controller.get_zone_states() + for zone in zones: + if zone in states.active_set: + print("Sprinkler zone {zone} is active") +``` + +See [examples](examples/) for additional details on how to use the APIs and an example command +line tool for querying the device. + +# Compatibility + +This library has been tested with the following devices: + + - ESP-TM2 + +You are welcome to file an issue for improved compatibility with your device especially if you +include debug logs that capture the API responses form the device. + +See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as +running the tests and other tooling used in development. + + +%prep +%autosetup -n pyrainbird-2.0.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-pyrainbird -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.1-1 +- Package Spec generated |
