From 62050afb786a9b658a84daf95c97aeacade51c18 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 31 May 2023 05:17:54 +0000 Subject: automatic import of python-pymonoprice --- .gitignore | 1 + python-pymonoprice.spec | 294 ++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 296 insertions(+) create mode 100644 python-pymonoprice.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..0d34433 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pymonoprice-0.4.tar.gz diff --git a/python-pymonoprice.spec b/python-pymonoprice.spec new file mode 100644 index 0000000..fcdb7be --- /dev/null +++ b/python-pymonoprice.spec @@ -0,0 +1,294 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pymonoprice +Version: 0.4 +Release: 1 +Summary: Python API for talking to Monoprice 6-zone amplifier +License: MIT +URL: https://github.com/etsinko/pymonoprice +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/70/61/f7bf7a480d47619761148e2968ff4583c119899d8053b78c123511568929/pymonoprice-0.4.tar.gz +BuildArch: noarch + + +%description +## Status +[![Build Status](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml/badge.svg)](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[![Coverage Status](https://coveralls.io/repos/github/etsinko/pymonoprice/badge.svg)](https://coveralls.io/github/etsinko/pymonoprice) + +# pymonoprice +Python3 interface implementation for Monoprice 6 zone amplifier + +## Notes +This is for use with [Home-Assistant](http://home-assistant.io) + +## Usage +```python +from pymonoprice import get_monoprice + +monoprice = get_monoprice('/dev/ttyUSB0') +# Valid zones are 11-16 for main monoprice amplifier +zone_status = monoprice.zone_status(11) + +# Print zone status +print('Zone Number = {}'.format(zone_status.zone)) +print('Power is {}'.format('On' if zone_status.power else 'Off')) +print('Mute is {}'.format('On' if zone_status.mute else 'Off')) +print('Public Anouncement Mode is {}'.format('On' if zone_status.pa else 'Off')) +print('Do Not Disturb Mode is {}'.format('On' if zone_status.do_not_disturb else 'Off')) +print('Volume = {}'.format(zone_status.volume)) +print('Treble = {}'.format(zone_status.treble)) +print('Bass = {}'.format(zone_status.bass)) +print('Balance = {}'.format(zone_status.balance)) +print('Source = {}'.format(zone_status.source)) +print('Keypad is {}'.format('connected' if zone_status.keypad else 'disconnected')) + +# Turn off zone #11 +monoprice.set_power(11, False) + +# Mute zone #12 +monoprice.set_mute(12, True) + +# Set volume for zone #13 +monoprice.set_volume(13, 15) + +# Set source 1 for zone #14 +monoprice.set_source(14, 1) + +# Set treble for zone #15 +monoprice.set_treble(15, 10) + +# Set bass for zone #16 +monoprice.set_bass(16, 7) + +# Set balance for zone #11 +monoprice.set_balance(11, 3) + +# Restore zone #11 to it's original state +monoprice.restore_zone(zone_status) +``` + +## Usage with asyncio + +With `asyncio` flavor all methods of Monoprice object are coroutines. + +```python +import asyncio +from pymonoprice import get_async_monoprice + +async def main(loop): + monoprice = await get_async_monoprice('/dev/ttyUSB0', loop) + zone_status = await monoprice.zone_status(11) + if zone_status.power: + await monoprice.set_power(zone_status.zone, False) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main(loop)) + +``` + + + +%package -n python3-pymonoprice +Summary: Python API for talking to Monoprice 6-zone amplifier +Provides: python-pymonoprice +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pymonoprice +## Status +[![Build Status](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml/badge.svg)](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[![Coverage Status](https://coveralls.io/repos/github/etsinko/pymonoprice/badge.svg)](https://coveralls.io/github/etsinko/pymonoprice) + +# pymonoprice +Python3 interface implementation for Monoprice 6 zone amplifier + +## Notes +This is for use with [Home-Assistant](http://home-assistant.io) + +## Usage +```python +from pymonoprice import get_monoprice + +monoprice = get_monoprice('/dev/ttyUSB0') +# Valid zones are 11-16 for main monoprice amplifier +zone_status = monoprice.zone_status(11) + +# Print zone status +print('Zone Number = {}'.format(zone_status.zone)) +print('Power is {}'.format('On' if zone_status.power else 'Off')) +print('Mute is {}'.format('On' if zone_status.mute else 'Off')) +print('Public Anouncement Mode is {}'.format('On' if zone_status.pa else 'Off')) +print('Do Not Disturb Mode is {}'.format('On' if zone_status.do_not_disturb else 'Off')) +print('Volume = {}'.format(zone_status.volume)) +print('Treble = {}'.format(zone_status.treble)) +print('Bass = {}'.format(zone_status.bass)) +print('Balance = {}'.format(zone_status.balance)) +print('Source = {}'.format(zone_status.source)) +print('Keypad is {}'.format('connected' if zone_status.keypad else 'disconnected')) + +# Turn off zone #11 +monoprice.set_power(11, False) + +# Mute zone #12 +monoprice.set_mute(12, True) + +# Set volume for zone #13 +monoprice.set_volume(13, 15) + +# Set source 1 for zone #14 +monoprice.set_source(14, 1) + +# Set treble for zone #15 +monoprice.set_treble(15, 10) + +# Set bass for zone #16 +monoprice.set_bass(16, 7) + +# Set balance for zone #11 +monoprice.set_balance(11, 3) + +# Restore zone #11 to it's original state +monoprice.restore_zone(zone_status) +``` + +## Usage with asyncio + +With `asyncio` flavor all methods of Monoprice object are coroutines. + +```python +import asyncio +from pymonoprice import get_async_monoprice + +async def main(loop): + monoprice = await get_async_monoprice('/dev/ttyUSB0', loop) + zone_status = await monoprice.zone_status(11) + if zone_status.power: + await monoprice.set_power(zone_status.zone, False) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main(loop)) + +``` + + + +%package help +Summary: Development documents and examples for pymonoprice +Provides: python3-pymonoprice-doc +%description help +## Status +[![Build Status](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml/badge.svg)](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[![Coverage Status](https://coveralls.io/repos/github/etsinko/pymonoprice/badge.svg)](https://coveralls.io/github/etsinko/pymonoprice) + +# pymonoprice +Python3 interface implementation for Monoprice 6 zone amplifier + +## Notes +This is for use with [Home-Assistant](http://home-assistant.io) + +## Usage +```python +from pymonoprice import get_monoprice + +monoprice = get_monoprice('/dev/ttyUSB0') +# Valid zones are 11-16 for main monoprice amplifier +zone_status = monoprice.zone_status(11) + +# Print zone status +print('Zone Number = {}'.format(zone_status.zone)) +print('Power is {}'.format('On' if zone_status.power else 'Off')) +print('Mute is {}'.format('On' if zone_status.mute else 'Off')) +print('Public Anouncement Mode is {}'.format('On' if zone_status.pa else 'Off')) +print('Do Not Disturb Mode is {}'.format('On' if zone_status.do_not_disturb else 'Off')) +print('Volume = {}'.format(zone_status.volume)) +print('Treble = {}'.format(zone_status.treble)) +print('Bass = {}'.format(zone_status.bass)) +print('Balance = {}'.format(zone_status.balance)) +print('Source = {}'.format(zone_status.source)) +print('Keypad is {}'.format('connected' if zone_status.keypad else 'disconnected')) + +# Turn off zone #11 +monoprice.set_power(11, False) + +# Mute zone #12 +monoprice.set_mute(12, True) + +# Set volume for zone #13 +monoprice.set_volume(13, 15) + +# Set source 1 for zone #14 +monoprice.set_source(14, 1) + +# Set treble for zone #15 +monoprice.set_treble(15, 10) + +# Set bass for zone #16 +monoprice.set_bass(16, 7) + +# Set balance for zone #11 +monoprice.set_balance(11, 3) + +# Restore zone #11 to it's original state +monoprice.restore_zone(zone_status) +``` + +## Usage with asyncio + +With `asyncio` flavor all methods of Monoprice object are coroutines. + +```python +import asyncio +from pymonoprice import get_async_monoprice + +async def main(loop): + monoprice = await get_async_monoprice('/dev/ttyUSB0', loop) + zone_status = await monoprice.zone_status(11) + if zone_status.power: + await monoprice.set_power(zone_status.zone, False) + +loop = asyncio.get_event_loop() +loop.run_until_complete(main(loop)) + +``` + + + +%prep +%autosetup -n pymonoprice-0.4 + +%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-pymonoprice -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot - 0.4-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..5f1a875 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +d877a27ed97c3ad273294d817d85f019 pymonoprice-0.4.tar.gz -- cgit v1.2.3