%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 [![Build Status](https://travis-ci.com/nielstron/pysyncthru.svg?branch=master)](https://travis-ci.com/nielstron/pysyncthru) [![Coverage Status](https://coveralls.io/repos/github/nielstron/pysyncthru/badge.svg?branch=master)](https://coveralls.io/github/nielstron/pysyncthru?branch=master) [![Package Version](https://img.shields.io/pypi/v/pysyncthru)](https://pypi.org/project/PySyncThru/) [![Python Versions](https://img.shields.io/pypi/pyversions/pysyncthru.svg)](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 [![Build Status](https://travis-ci.com/nielstron/pysyncthru.svg?branch=master)](https://travis-ci.com/nielstron/pysyncthru) [![Coverage Status](https://coveralls.io/repos/github/nielstron/pysyncthru/badge.svg?branch=master)](https://coveralls.io/github/nielstron/pysyncthru?branch=master) [![Package Version](https://img.shields.io/pypi/v/pysyncthru)](https://pypi.org/project/PySyncThru/) [![Python Versions](https://img.shields.io/pypi/pyversions/pysyncthru.svg)](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 [![Build Status](https://travis-ci.com/nielstron/pysyncthru.svg?branch=master)](https://travis-ci.com/nielstron/pysyncthru) [![Coverage Status](https://coveralls.io/repos/github/nielstron/pysyncthru/badge.svg?branch=master)](https://coveralls.io/github/nielstron/pysyncthru?branch=master) [![Package Version](https://img.shields.io/pypi/v/pysyncthru)](https://pypi.org/project/PySyncThru/) [![Python Versions](https://img.shields.io/pypi/pyversions/pysyncthru.svg)](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 - 0.7.10-1 - Package Spec generated