diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 06:49:32 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 06:49:32 +0000 |
| commit | 8733b6d3902121cdc8fa1c9e834b378b3a39b79d (patch) | |
| tree | afb5ca8bad5b8211489c474033668bf8097b1f90 /python-smartphone-connector.spec | |
| parent | 81ae6fc0b715a9cb1437fc4fa9dec1a5fd2e894c (diff) | |
automatic import of python-smartphone-connector
Diffstat (limited to 'python-smartphone-connector.spec')
| -rw-r--r-- | python-smartphone-connector.spec | 415 |
1 files changed, 415 insertions, 0 deletions
diff --git a/python-smartphone-connector.spec b/python-smartphone-connector.spec new file mode 100644 index 0000000..c3e559a --- /dev/null +++ b/python-smartphone-connector.spec @@ -0,0 +1,415 @@ +%global _empty_manifest_terminate_build 0 +Name: python-smartphone-connector +Version: 0.0.115 +Release: 1 +Summary: Talk to a socketio server +License: MIT License +URL: https://github.com/lebalz/smartphone-connector +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/98/d6/96115de4911fc7c10caf0d969779562a80b85f78417f4437927a03d98dcf/smartphone_connector-0.0.115.tar.gz +BuildArch: noarch + +Requires: python3-socketio[client] + +%description +# Smartphone Connector + +This simple package exposes methods to interact with smartphones connected to a [socket.io server](https://github.com/lebalz/socketio_server) instance. + +## Examples + +[All examples and scripts on GitHub](https://github.com/lebalz/smartphone-connector/blob/master/examples/) + +### Draw 3x3 checker board + +```py +from smartphone_connector import Connector +phone = Connector('https://io.lebalz.ch', 'FooBar') + +# draw a 3x3 checker board +phone.set_grid([ + ['black','white','black'], + ['white','black','white'], + ['black','white','black'] +], broadcast=True) + +# print the letter A +phone.set_grid([ + [9,9,9,9], + [9,0,0,9], + [9,9,9,9], + [9,0,0,9], + [9,0,0,9], +]) +``` + +results on all devices in the following screen. + +When `broadcast` is set to `False` (default), only the `FooBar` devices display the checker board. + + + +### Stream & display gyroscope data + +```py +from smartphone_connector import Connector, GyroMsg +import matplotlib.pyplot as plt +phone = Connector('https://io.lebalz.ch', 'FooBar') +MAX_SAMPLES = 300 + +y = [] +x = [] +plt.show() + + +def on_gyro(data: GyroMsg): + if len(x) > MAX_SAMPLES: + x.pop(0) + y.pop(0) + + x.append(data.time_stamp) + y.append([data.alpha, data.beta, data.gamma]) + + +def on_intervall(): + plt.clf() + plt.plot(x, y) + plt.pause(0.01) + + +phone.on_gyro = on_gyro +phone.subscribe(on_intervall, interval=0) +``` + +Displays gyroscope data from the smartphone on a Matplotlib-Plot. + + +## Package and upload to pip + +@see [this tutorial](https://packaging.python.org/tutorials/packaging-projects/) + +```sh +rm -rf build/ dist/ smartphone_connector.egg-info/ && \ +python3 setup.py sdist bdist_wheel && \ +python3 -m twine upload dist/* +``` + +## Changelog + +- 0.0.115: fix audio path checking +- 0.0.113: fix reporting of `pos_x` and `pos_y` on collisions +- 0.0.111: support `timer` events from socketio_server +- 0.0.110: add method `report(value: int | float, report_type: str, to: '__GAME_RUNNER__')` +- 0.0.109: fix typo in `update_ellipse` +- 0.0.108: introduce `clean_playground` method to remove all sprites and lines from the current playground, but keep the playground config as is. And minor bug fixes. +- 0.0.107: can mix absolute and relative movements with `apply_movements` and `apply_movement` +- 0.0.106: add possibility to control movement distances +- 0.0.105: control repeats of movement sequences +- 0.0.104: add methods to apply movements to objects: + ```py + # single movement + device.apply_movement(id='circle', direction=[1, 1], time_span=1, speed=3) + # movement sequence + with device.apply_movements(id='circle') as movement: + movement(direction=[1, 0], time_span=1, speed=2) + movement(direction=[-1, 0], time_span=1, speed=2) + ``` + - adding example [playground_flappy.py](examples/playground_flappy.py) +- 0.0.103: change function annotation of `set_timeout(callback, time, repeat=1)` instead of `set_timeout(callback, interval, iteration_count=inf)` +- 0.0.102: add alias methods for `subscribe_async`: `set_timeout`, `schedule`, `execute_in` +- 0.0.101: introduce `move_to(id: str, pos: [x, y], via: [x, y])` method to make jumps easyier. Event `auto_movement_pos` is triggered when an auto movement within a sequence finished. +- 0.0.100: support image formats `.gif`, `.bmp`, `.webp` +- 0.0.99: introduce method `add_svg_to_playground(name: str, raw_svg: str)` to upload plain svg source text +- 0.0.98 fix iteration count +- 0.0.97: introduce sound - provide a `audio_tracks` source directory in `configure_playground` and start/stop sounds with `play_sound(name: str, id: Optional[str])` / `stop_sound(name: Optional[str], id: Optional[str])` +- 0.0.96 register multiple callback functions with `on(event, clbk)` +- 0.0.95 support `border_style` and `border_width` for sprites + + + + +%package -n python3-smartphone-connector +Summary: Talk to a socketio server +Provides: python-smartphone-connector +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-smartphone-connector +# Smartphone Connector + +This simple package exposes methods to interact with smartphones connected to a [socket.io server](https://github.com/lebalz/socketio_server) instance. + +## Examples + +[All examples and scripts on GitHub](https://github.com/lebalz/smartphone-connector/blob/master/examples/) + +### Draw 3x3 checker board + +```py +from smartphone_connector import Connector +phone = Connector('https://io.lebalz.ch', 'FooBar') + +# draw a 3x3 checker board +phone.set_grid([ + ['black','white','black'], + ['white','black','white'], + ['black','white','black'] +], broadcast=True) + +# print the letter A +phone.set_grid([ + [9,9,9,9], + [9,0,0,9], + [9,9,9,9], + [9,0,0,9], + [9,0,0,9], +]) +``` + +results on all devices in the following screen. + +When `broadcast` is set to `False` (default), only the `FooBar` devices display the checker board. + + + +### Stream & display gyroscope data + +```py +from smartphone_connector import Connector, GyroMsg +import matplotlib.pyplot as plt +phone = Connector('https://io.lebalz.ch', 'FooBar') +MAX_SAMPLES = 300 + +y = [] +x = [] +plt.show() + + +def on_gyro(data: GyroMsg): + if len(x) > MAX_SAMPLES: + x.pop(0) + y.pop(0) + + x.append(data.time_stamp) + y.append([data.alpha, data.beta, data.gamma]) + + +def on_intervall(): + plt.clf() + plt.plot(x, y) + plt.pause(0.01) + + +phone.on_gyro = on_gyro +phone.subscribe(on_intervall, interval=0) +``` + +Displays gyroscope data from the smartphone on a Matplotlib-Plot. + + +## Package and upload to pip + +@see [this tutorial](https://packaging.python.org/tutorials/packaging-projects/) + +```sh +rm -rf build/ dist/ smartphone_connector.egg-info/ && \ +python3 setup.py sdist bdist_wheel && \ +python3 -m twine upload dist/* +``` + +## Changelog + +- 0.0.115: fix audio path checking +- 0.0.113: fix reporting of `pos_x` and `pos_y` on collisions +- 0.0.111: support `timer` events from socketio_server +- 0.0.110: add method `report(value: int | float, report_type: str, to: '__GAME_RUNNER__')` +- 0.0.109: fix typo in `update_ellipse` +- 0.0.108: introduce `clean_playground` method to remove all sprites and lines from the current playground, but keep the playground config as is. And minor bug fixes. +- 0.0.107: can mix absolute and relative movements with `apply_movements` and `apply_movement` +- 0.0.106: add possibility to control movement distances +- 0.0.105: control repeats of movement sequences +- 0.0.104: add methods to apply movements to objects: + ```py + # single movement + device.apply_movement(id='circle', direction=[1, 1], time_span=1, speed=3) + # movement sequence + with device.apply_movements(id='circle') as movement: + movement(direction=[1, 0], time_span=1, speed=2) + movement(direction=[-1, 0], time_span=1, speed=2) + ``` + - adding example [playground_flappy.py](examples/playground_flappy.py) +- 0.0.103: change function annotation of `set_timeout(callback, time, repeat=1)` instead of `set_timeout(callback, interval, iteration_count=inf)` +- 0.0.102: add alias methods for `subscribe_async`: `set_timeout`, `schedule`, `execute_in` +- 0.0.101: introduce `move_to(id: str, pos: [x, y], via: [x, y])` method to make jumps easyier. Event `auto_movement_pos` is triggered when an auto movement within a sequence finished. +- 0.0.100: support image formats `.gif`, `.bmp`, `.webp` +- 0.0.99: introduce method `add_svg_to_playground(name: str, raw_svg: str)` to upload plain svg source text +- 0.0.98 fix iteration count +- 0.0.97: introduce sound - provide a `audio_tracks` source directory in `configure_playground` and start/stop sounds with `play_sound(name: str, id: Optional[str])` / `stop_sound(name: Optional[str], id: Optional[str])` +- 0.0.96 register multiple callback functions with `on(event, clbk)` +- 0.0.95 support `border_style` and `border_width` for sprites + + + + +%package help +Summary: Development documents and examples for smartphone-connector +Provides: python3-smartphone-connector-doc +%description help +# Smartphone Connector + +This simple package exposes methods to interact with smartphones connected to a [socket.io server](https://github.com/lebalz/socketio_server) instance. + +## Examples + +[All examples and scripts on GitHub](https://github.com/lebalz/smartphone-connector/blob/master/examples/) + +### Draw 3x3 checker board + +```py +from smartphone_connector import Connector +phone = Connector('https://io.lebalz.ch', 'FooBar') + +# draw a 3x3 checker board +phone.set_grid([ + ['black','white','black'], + ['white','black','white'], + ['black','white','black'] +], broadcast=True) + +# print the letter A +phone.set_grid([ + [9,9,9,9], + [9,0,0,9], + [9,9,9,9], + [9,0,0,9], + [9,0,0,9], +]) +``` + +results on all devices in the following screen. + +When `broadcast` is set to `False` (default), only the `FooBar` devices display the checker board. + + + +### Stream & display gyroscope data + +```py +from smartphone_connector import Connector, GyroMsg +import matplotlib.pyplot as plt +phone = Connector('https://io.lebalz.ch', 'FooBar') +MAX_SAMPLES = 300 + +y = [] +x = [] +plt.show() + + +def on_gyro(data: GyroMsg): + if len(x) > MAX_SAMPLES: + x.pop(0) + y.pop(0) + + x.append(data.time_stamp) + y.append([data.alpha, data.beta, data.gamma]) + + +def on_intervall(): + plt.clf() + plt.plot(x, y) + plt.pause(0.01) + + +phone.on_gyro = on_gyro +phone.subscribe(on_intervall, interval=0) +``` + +Displays gyroscope data from the smartphone on a Matplotlib-Plot. + + +## Package and upload to pip + +@see [this tutorial](https://packaging.python.org/tutorials/packaging-projects/) + +```sh +rm -rf build/ dist/ smartphone_connector.egg-info/ && \ +python3 setup.py sdist bdist_wheel && \ +python3 -m twine upload dist/* +``` + +## Changelog + +- 0.0.115: fix audio path checking +- 0.0.113: fix reporting of `pos_x` and `pos_y` on collisions +- 0.0.111: support `timer` events from socketio_server +- 0.0.110: add method `report(value: int | float, report_type: str, to: '__GAME_RUNNER__')` +- 0.0.109: fix typo in `update_ellipse` +- 0.0.108: introduce `clean_playground` method to remove all sprites and lines from the current playground, but keep the playground config as is. And minor bug fixes. +- 0.0.107: can mix absolute and relative movements with `apply_movements` and `apply_movement` +- 0.0.106: add possibility to control movement distances +- 0.0.105: control repeats of movement sequences +- 0.0.104: add methods to apply movements to objects: + ```py + # single movement + device.apply_movement(id='circle', direction=[1, 1], time_span=1, speed=3) + # movement sequence + with device.apply_movements(id='circle') as movement: + movement(direction=[1, 0], time_span=1, speed=2) + movement(direction=[-1, 0], time_span=1, speed=2) + ``` + - adding example [playground_flappy.py](examples/playground_flappy.py) +- 0.0.103: change function annotation of `set_timeout(callback, time, repeat=1)` instead of `set_timeout(callback, interval, iteration_count=inf)` +- 0.0.102: add alias methods for `subscribe_async`: `set_timeout`, `schedule`, `execute_in` +- 0.0.101: introduce `move_to(id: str, pos: [x, y], via: [x, y])` method to make jumps easyier. Event `auto_movement_pos` is triggered when an auto movement within a sequence finished. +- 0.0.100: support image formats `.gif`, `.bmp`, `.webp` +- 0.0.99: introduce method `add_svg_to_playground(name: str, raw_svg: str)` to upload plain svg source text +- 0.0.98 fix iteration count +- 0.0.97: introduce sound - provide a `audio_tracks` source directory in `configure_playground` and start/stop sounds with `play_sound(name: str, id: Optional[str])` / `stop_sound(name: Optional[str], id: Optional[str])` +- 0.0.96 register multiple callback functions with `on(event, clbk)` +- 0.0.95 support `border_style` and `border_width` for sprites + + + + +%prep +%autosetup -n smartphone-connector-0.0.115 + +%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-smartphone-connector -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.115-1 +- Package Spec generated |
