Skip to main content

Control your computer from a web interface

Project description

Preview of webcon.

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)

Uploaded Source

Built Distribution

webcon-1.0.2-py36-none-any.whl (15.5 kB view details)

Uploaded Python 3.6

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

Hashes for webcon-1.0.2.tar.gz
Algorithm Hash digest
SHA256 174b4a93136907f558adfcbb0a1a759d2ca5be539b42564952a7c95d10e51e7e
MD5 d9bc102dfbf1bcfeb4cb438c8dee0148
BLAKE2b-256 58114a22cdedac41e83e8c9b9f5d0023ae930eca70c4205f12fcceabdd063a61

See more details on using hashes here.

File details

Details for the file webcon-1.0.2-py36-none-any.whl.

File metadata

File hashes

Hashes for webcon-1.0.2-py36-none-any.whl
Algorithm Hash digest
SHA256 7e11a614ab1302e066e5b8b73c31b668a44578eea17207e1391575c42211cbcd
MD5 b512a4f69112d4e4da64b899d2a606d9
BLAKE2b-256 1bc941a8c0af0234ba7af889542686beeace6e414ac2b4dc80e2a9bc753fa19f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page