summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-nettigo-air-monitor.spec300
-rw-r--r--sources1
3 files changed, 302 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..a0d2777 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..2d19f99
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+189011ac7fe8b1d40d364fd820373958 nettigo_air_monitor-2.1.0.tar.gz