diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 05:17:54 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 05:17:54 +0000 |
commit | 62050afb786a9b658a84daf95c97aeacade51c18 (patch) | |
tree | eb5f899fa6aee203322ea1de8a32c14b9af62faa | |
parent | 705e09109f7536032f1a8267ac23b64e044417ae (diff) |
automatic import of python-pymonoprice
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pymonoprice.spec | 294 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 296 insertions, 0 deletions
@@ -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 +[](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[](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 +[](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[](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 +[](https://github.com/etsinko/pymonoprice/actions/workflows/ci.yml)[](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 <Python_Bot@openeuler.org> - 0.4-1 +- Package Spec generated @@ -0,0 +1 @@ +d877a27ed97c3ad273294d817d85f019 pymonoprice-0.4.tar.gz |