diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-pysyncthru.spec | 243 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 245 insertions, 0 deletions
@@ -0,0 +1 @@ +/PySyncThru-0.7.10.tar.gz diff --git a/python-pysyncthru.spec b/python-pysyncthru.spec new file mode 100644 index 0000000..4f951bb --- /dev/null +++ b/python-pysyncthru.spec @@ -0,0 +1,243 @@ +%global _empty_manifest_terminate_build 0 +Name: python-PySyncThru +Version: 0.7.10 +Release: 1 +Summary: Automated JSON API based communication with Samsung SyncThru Web Service +License: MIT +URL: https://github.com/nielstron/pysyncthru/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3a/20/1b926b47f4fea52913285082aea82169748d8e234addef74c11cf5d5e31f/PySyncThru-0.7.10.tar.gz +BuildArch: noarch + + +%description +# PySyncThru - a very basic python SyncThru bridge +[](https://travis-ci.com/nielstron/pysyncthru) +[](https://coveralls.io/github/nielstron/pysyncthru?branch=master) +[](https://pypi.org/project/PySyncThru/) +[](https://pypi.org/project/PySyncThru/) + +A package that connects to a Samsung printer in the local network that +makes use of the SyncThru web service and provides data +that is provided via the JSON API of the device. +If the API cannot be reached (because on some printers it is not supported), +it tries to parse other pages in the webinterface and extract information. + +It is able to read the system, toner and tray status and provides method +wrappers to access them. +Overall, the following data is usually provided by the printers: + +- Device / System status +- Drum / Toner status +- Model name +- Tray status + +Sadly it seems like there is no official API, so fixes are welcome and likely +needed! + +## Usage + +```python +import aiohttp +import asyncio +from pysyncthru import SyncThru + +IP_PRINTER = '192.168.0.25' + +async def main(): + async with aiohttp.ClientSession() as session: + printer = SyncThru(IP_PRINTER, session) + await printer.update() + + # Is printer online? + print("Printer online?:", printer.is_online()) + # Show the printer status + print("Printer status:", printer.device_status()) + if printer.is_online(): + # Show details about the printer + print("Printer model:", printer.model()) + # Get the details of a cartridge + print("Toner Cyan details:", printer.toner_status()['cyan']) + # Get the details about a tray + print("Tray 1 Capacity:", printer.input_tray_status()[1]['capa']) + # Print all available details from the printer + print("All data:\n", printer.raw()) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main()) +``` + + + + +%package -n python3-PySyncThru +Summary: Automated JSON API based communication with Samsung SyncThru Web Service +Provides: python-PySyncThru +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-PySyncThru +# PySyncThru - a very basic python SyncThru bridge +[](https://travis-ci.com/nielstron/pysyncthru) +[](https://coveralls.io/github/nielstron/pysyncthru?branch=master) +[](https://pypi.org/project/PySyncThru/) +[](https://pypi.org/project/PySyncThru/) + +A package that connects to a Samsung printer in the local network that +makes use of the SyncThru web service and provides data +that is provided via the JSON API of the device. +If the API cannot be reached (because on some printers it is not supported), +it tries to parse other pages in the webinterface and extract information. + +It is able to read the system, toner and tray status and provides method +wrappers to access them. +Overall, the following data is usually provided by the printers: + +- Device / System status +- Drum / Toner status +- Model name +- Tray status + +Sadly it seems like there is no official API, so fixes are welcome and likely +needed! + +## Usage + +```python +import aiohttp +import asyncio +from pysyncthru import SyncThru + +IP_PRINTER = '192.168.0.25' + +async def main(): + async with aiohttp.ClientSession() as session: + printer = SyncThru(IP_PRINTER, session) + await printer.update() + + # Is printer online? + print("Printer online?:", printer.is_online()) + # Show the printer status + print("Printer status:", printer.device_status()) + if printer.is_online(): + # Show details about the printer + print("Printer model:", printer.model()) + # Get the details of a cartridge + print("Toner Cyan details:", printer.toner_status()['cyan']) + # Get the details about a tray + print("Tray 1 Capacity:", printer.input_tray_status()[1]['capa']) + # Print all available details from the printer + print("All data:\n", printer.raw()) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main()) +``` + + + + +%package help +Summary: Development documents and examples for PySyncThru +Provides: python3-PySyncThru-doc +%description help +# PySyncThru - a very basic python SyncThru bridge +[](https://travis-ci.com/nielstron/pysyncthru) +[](https://coveralls.io/github/nielstron/pysyncthru?branch=master) +[](https://pypi.org/project/PySyncThru/) +[](https://pypi.org/project/PySyncThru/) + +A package that connects to a Samsung printer in the local network that +makes use of the SyncThru web service and provides data +that is provided via the JSON API of the device. +If the API cannot be reached (because on some printers it is not supported), +it tries to parse other pages in the webinterface and extract information. + +It is able to read the system, toner and tray status and provides method +wrappers to access them. +Overall, the following data is usually provided by the printers: + +- Device / System status +- Drum / Toner status +- Model name +- Tray status + +Sadly it seems like there is no official API, so fixes are welcome and likely +needed! + +## Usage + +```python +import aiohttp +import asyncio +from pysyncthru import SyncThru + +IP_PRINTER = '192.168.0.25' + +async def main(): + async with aiohttp.ClientSession() as session: + printer = SyncThru(IP_PRINTER, session) + await printer.update() + + # Is printer online? + print("Printer online?:", printer.is_online()) + # Show the printer status + print("Printer status:", printer.device_status()) + if printer.is_online(): + # Show details about the printer + print("Printer model:", printer.model()) + # Get the details of a cartridge + print("Toner Cyan details:", printer.toner_status()['cyan']) + # Get the details about a tray + print("Tray 1 Capacity:", printer.input_tray_status()[1]['capa']) + # Print all available details from the printer + print("All data:\n", printer.raw()) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main()) +``` + + + + +%prep +%autosetup -n PySyncThru-0.7.10 + +%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-PySyncThru -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.10-1 +- Package Spec generated @@ -0,0 +1 @@ +d449576c4e34f78b2c94db61b3958039 PySyncThru-0.7.10.tar.gz |
