从Web界面控制计算机

webcon的Python项目详细描述


Preview of webcon.

从一个简单的web界面通过shell命令控制您的计算机。

配置示例: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

安装

pip3 install webcon

制表符完成

sudo activate-global-python-argcomplete

如果通过PIP安装,则在自动完成之前,可能需要运行以下命令:

grep 'PYTHON_ARGCOMPLETE_OK' "$(which webcon)" &>/dev/null || sudo sed -i "1a # PYTHON_ARGCOMPLETE_OK" "$(which webcon)"

用法

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm