diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-nettigo-air-monitor.spec | 300 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 302 insertions, 0 deletions
@@ -0,0 +1 @@ +/nettigo_air_monitor-2.1.0.tar.gz diff --git a/python-nettigo-air-monitor.spec b/python-nettigo-air-monitor.spec new file mode 100644 index 0000000..2649f41 --- /dev/null +++ b/python-nettigo-air-monitor.spec @@ -0,0 +1,300 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nettigo-air-monitor +Version: 2.1.0 +Release: 1 +Summary: Python wrapper for getting air quality data from Nettigo Air Monitor devices. +License: Apache-2.0 License +URL: https://github.com/bieniu/nettigo-air-monitor +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/07/71/10d11736380fbe4a3191bd4ba718bb8745e09a6f3baa29196607ac5bdc9a/nettigo_air_monitor-2.1.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-aqipy-atmotech +Requires: python3-dacite + +%description +[![GitHub Release][releases-shield]][releases] +[![PyPI][pypi-releases-shield]][pypi-releases] +[![PyPI - Downloads][pypi-downloads]][pypi-statistics] +[![Buy me a coffee][buy-me-a-coffee-shield]][buy-me-a-coffee] +[![PayPal_Me][paypal-me-shield]][paypal-me] + +# nettigo-air-monitor + +Python wrapper for getting air quality data from Nettigo Air Monitor devices. + + +## How to use package + +```python +"""An example of using Nettigo Air Monitor package.""" +import asyncio +import logging + +import async_timeout +from aiohttp import ClientConnectorError, ClientError, ClientSession + +from nettigo_air_monitor import ( + ApiError, + AuthFailedError, + ConnectionOptions, + InvalidSensorDataError, + NettigoAirMonitor, +) + +logging.basicConfig(level=logging.DEBUG) + + +async def main(): + """Run main fynction.""" + websession = ClientSession() + options = ConnectionOptions(host="nam", username="user", password="password") + + nam = await NettigoAirMonitor.create(websession, options) + try: + async with async_timeout.timeout(10): + data = await nam.async_update() + mac = await nam.async_get_mac_address() + except ( + ApiError, + AuthFailedError, + ClientConnectorError, + ClientError, + InvalidSensorDataError, + asyncio.exceptions.TimeoutError, + ) as error: + print(f"Error: {error}") + else: + print(f"Auth enabled: {nam.auth_enabled}") + print(f"Firmware: {nam.software_version}") + print(f"MAC address: {mac}") + print(f"Data: {data}") + + await websession.close() + + +loop = asyncio.new_event_loop() +loop.run_until_complete(main()) +loop.close() +``` + +[releases]: https://github.com/bieniu/nettigo-air-monitor/releases +[releases-shield]: https://img.shields.io/github/release/bieniu/nettigo-air-monitor.svg?style=popout +[pypi-releases]: https://pypi.org/project/nettigo-air-monitor/ +[pypi-statistics]: https://pepy.tech/project/nettigo-air-monitor +[pypi-releases-shield]: https://img.shields.io/pypi/v/nettigo-air-monitor +[pypi-downloads]: https://pepy.tech/badge/nettigo-air-monitor/month +[buy-me-a-coffee-shield]: https://img.shields.io/static/v1.svg?label=%20&message=Buy%20me%20a%20coffee&color=6f4e37&logo=buy%20me%20a%20coffee&logoColor=white +[buy-me-a-coffee]: https://www.buymeacoffee.com/QnLdxeaqO +[paypal-me-shield]: https://img.shields.io/static/v1.svg?label=%20&message=PayPal.Me&logo=paypal +[paypal-me]: https://www.paypal.me/bieniu79 + + +%package -n python3-nettigo-air-monitor +Summary: Python wrapper for getting air quality data from Nettigo Air Monitor devices. +Provides: python-nettigo-air-monitor +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nettigo-air-monitor +[![GitHub Release][releases-shield]][releases] +[![PyPI][pypi-releases-shield]][pypi-releases] +[![PyPI - Downloads][pypi-downloads]][pypi-statistics] +[![Buy me a coffee][buy-me-a-coffee-shield]][buy-me-a-coffee] +[![PayPal_Me][paypal-me-shield]][paypal-me] + +# nettigo-air-monitor + +Python wrapper for getting air quality data from Nettigo Air Monitor devices. + + +## How to use package + +```python +"""An example of using Nettigo Air Monitor package.""" +import asyncio +import logging + +import async_timeout +from aiohttp import ClientConnectorError, ClientError, ClientSession + +from nettigo_air_monitor import ( + ApiError, + AuthFailedError, + ConnectionOptions, + InvalidSensorDataError, + NettigoAirMonitor, +) + +logging.basicConfig(level=logging.DEBUG) + + +async def main(): + """Run main fynction.""" + websession = ClientSession() + options = ConnectionOptions(host="nam", username="user", password="password") + + nam = await NettigoAirMonitor.create(websession, options) + try: + async with async_timeout.timeout(10): + data = await nam.async_update() + mac = await nam.async_get_mac_address() + except ( + ApiError, + AuthFailedError, + ClientConnectorError, + ClientError, + InvalidSensorDataError, + asyncio.exceptions.TimeoutError, + ) as error: + print(f"Error: {error}") + else: + print(f"Auth enabled: {nam.auth_enabled}") + print(f"Firmware: {nam.software_version}") + print(f"MAC address: {mac}") + print(f"Data: {data}") + + await websession.close() + + +loop = asyncio.new_event_loop() +loop.run_until_complete(main()) +loop.close() +``` + +[releases]: https://github.com/bieniu/nettigo-air-monitor/releases +[releases-shield]: https://img.shields.io/github/release/bieniu/nettigo-air-monitor.svg?style=popout +[pypi-releases]: https://pypi.org/project/nettigo-air-monitor/ +[pypi-statistics]: https://pepy.tech/project/nettigo-air-monitor +[pypi-releases-shield]: https://img.shields.io/pypi/v/nettigo-air-monitor +[pypi-downloads]: https://pepy.tech/badge/nettigo-air-monitor/month +[buy-me-a-coffee-shield]: https://img.shields.io/static/v1.svg?label=%20&message=Buy%20me%20a%20coffee&color=6f4e37&logo=buy%20me%20a%20coffee&logoColor=white +[buy-me-a-coffee]: https://www.buymeacoffee.com/QnLdxeaqO +[paypal-me-shield]: https://img.shields.io/static/v1.svg?label=%20&message=PayPal.Me&logo=paypal +[paypal-me]: https://www.paypal.me/bieniu79 + + +%package help +Summary: Development documents and examples for nettigo-air-monitor +Provides: python3-nettigo-air-monitor-doc +%description help +[![GitHub Release][releases-shield]][releases] +[![PyPI][pypi-releases-shield]][pypi-releases] +[![PyPI - Downloads][pypi-downloads]][pypi-statistics] +[![Buy me a coffee][buy-me-a-coffee-shield]][buy-me-a-coffee] +[![PayPal_Me][paypal-me-shield]][paypal-me] + +# nettigo-air-monitor + +Python wrapper for getting air quality data from Nettigo Air Monitor devices. + + +## How to use package + +```python +"""An example of using Nettigo Air Monitor package.""" +import asyncio +import logging + +import async_timeout +from aiohttp import ClientConnectorError, ClientError, ClientSession + +from nettigo_air_monitor import ( + ApiError, + AuthFailedError, + ConnectionOptions, + InvalidSensorDataError, + NettigoAirMonitor, +) + +logging.basicConfig(level=logging.DEBUG) + + +async def main(): + """Run main fynction.""" + websession = ClientSession() + options = ConnectionOptions(host="nam", username="user", password="password") + + nam = await NettigoAirMonitor.create(websession, options) + try: + async with async_timeout.timeout(10): + data = await nam.async_update() + mac = await nam.async_get_mac_address() + except ( + ApiError, + AuthFailedError, + ClientConnectorError, + ClientError, + InvalidSensorDataError, + asyncio.exceptions.TimeoutError, + ) as error: + print(f"Error: {error}") + else: + print(f"Auth enabled: {nam.auth_enabled}") + print(f"Firmware: {nam.software_version}") + print(f"MAC address: {mac}") + print(f"Data: {data}") + + await websession.close() + + +loop = asyncio.new_event_loop() +loop.run_until_complete(main()) +loop.close() +``` + +[releases]: https://github.com/bieniu/nettigo-air-monitor/releases +[releases-shield]: https://img.shields.io/github/release/bieniu/nettigo-air-monitor.svg?style=popout +[pypi-releases]: https://pypi.org/project/nettigo-air-monitor/ +[pypi-statistics]: https://pepy.tech/project/nettigo-air-monitor +[pypi-releases-shield]: https://img.shields.io/pypi/v/nettigo-air-monitor +[pypi-downloads]: https://pepy.tech/badge/nettigo-air-monitor/month +[buy-me-a-coffee-shield]: https://img.shields.io/static/v1.svg?label=%20&message=Buy%20me%20a%20coffee&color=6f4e37&logo=buy%20me%20a%20coffee&logoColor=white +[buy-me-a-coffee]: https://www.buymeacoffee.com/QnLdxeaqO +[paypal-me-shield]: https://img.shields.io/static/v1.svg?label=%20&message=PayPal.Me&logo=paypal +[paypal-me]: https://www.paypal.me/bieniu79 + + +%prep +%autosetup -n nettigo-air-monitor-2.1.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-nettigo-air-monitor -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +189011ac7fe8b1d40d364fd820373958 nettigo_air_monitor-2.1.0.tar.gz |