Control your computer from a web interface
Project description
Control your computer through shell commands from a barebones web interface.
Example configuration: config.yaml
__variables__:
mpvfifo: ~/.local/share/mpv/fifo
mpv:
rewind: echo seek -5 > {mpvfifo}
play/pause: echo cycle pause > {mpvfifo}
fast forward: echo seek 5 > {mpvfifo}
announcer:
greet: say hello
part: say farewell
Installation
pip3 install webcon
Tab completion
sudo activate-global-python-argcomplete
If you installed via pip, you may need to run the following before autocompletion works:
grep 'PYTHON_ARGCOMPLETE_OK' "$(which webcon)" &>/dev/null || sudo sed -i "1a # PYTHON_ARGCOMPLETE_OK" "$(which webcon)"
Usage
usage: webcon [-h] [--host HOST] [-p PORT] [config_file]
Control your computer through shell commands from a barebones web interface.
Configuration goes in ~/.config/webcon/config.yaml, or an alternate location
may be provided by command line argument.
Configuration format:
- Throughout the configuration, order of each mapping is taken into account to
ensure the layout does not deviate from expectations.
- The top level of the configuration is a mapping.
- Variables in the top-level key `__variables__` will be substituted once via
`str.format` throughout the entire file. This may be used to extract long
constants, etc.
- Every other top-level key will define a service, and its value shall be a
mapping of the actions it supports.
- Each action shall define a label/command pair, in the the form of
`label: command`.
Example configuration:
__variables__:
mpvfifo: ~/.local/share/mpv/fifo
mpv:
rewind: echo seek -5 > {mpvfifo}
play/pause: echo cycle pause > {mpvfifo}
fast forward: echo seek 5 > {mpvfifo}
announcer:
greet: say hello
part: say farewell
Explanation:
- Define `mpvfifo` as a variable holding the location of a mpv fifo.
- Define a service `mpv`.
- This service exports the actions `rewind`, `play/pause`, and
`fast forward`. The actions are different echoes to `mpvffo`.
- Define a service `announcer`.
- This service exports the actions `greet` and `part`. The actions are
different phrases which will be synthesized through `say`.
positional arguments:
config_file The config file to use. Default:
/Users/echan/.config/webcon/config.yaml
optional arguments:
-h, --help show this help message and exit
--host HOST The server host. Default: 0.0.0.0
-p PORT, --port PORT The server port. Default: 8080
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
webcon-1.0.2.tar.gz
(12.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
webcon-1.0.2-py36-none-any.whl
(15.5 kB
view details)
File details
Details for the file webcon-1.0.2.tar.gz.
File metadata
- Download URL: webcon-1.0.2.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
174b4a93136907f558adfcbb0a1a759d2ca5be539b42564952a7c95d10e51e7e
|
|
| MD5 |
d9bc102dfbf1bcfeb4cb438c8dee0148
|
|
| BLAKE2b-256 |
58114a22cdedac41e83e8c9b9f5d0023ae930eca70c4205f12fcceabdd063a61
|
File details
Details for the file webcon-1.0.2-py36-none-any.whl.
File metadata
- Download URL: webcon-1.0.2-py36-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3.6
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e11a614ab1302e066e5b8b73c31b668a44578eea17207e1391575c42211cbcd
|
|
| MD5 |
b512a4f69112d4e4da64b899d2a606d9
|
|
| BLAKE2b-256 |
1bc941a8c0af0234ba7af889542686beeace6e414ac2b4dc80e2a9bc753fa19f
|