1
0
Fork 0
Commit Graph

14 Commits (9433d4273d42ff49f65ea7e1aa9fa0cf21d6d5b1)

Author SHA1 Message Date
Dustin 9433d4273d svc: Update to aiomarionette 0.0.3
Older versions hard-coded using the `AF_INET6` address family, even for
IPv4 addresses.  While this "worked on my machine," it did not work when
the application was deployed to the Kubernetes cluster.  Either cri-o or
the Debian-based *python* container image must disable this somehow.
2022-08-02 21:36:59 -05:00
Dustin 6e53569d7a svc: api: Get URLs file path from env var
The `HUDCTRL_URLS_FILE` environment variable can be used to specify the
location to the `urls.json` file.
2022-08-02 21:36:59 -05:00
Dustin 337406e0a0 svc: Remove playwright dependency 2022-08-02 21:13:39 -05:00
Dustin 6c02df9d28 svc: Update poetry.lock 2022-08-02 21:13:39 -05:00
Dustin 3c27f984d2 svc: Use released aiomarionette 2022-08-02 21:13:39 -05:00
Dustin 12d6337335 svc: Add get screen operation
The *GET /screen/{name}/* path operation retrieves the current
information about a single screen.
2022-04-30 21:49:00 -05:00
Dustin e452393b9f svc: Add navigate operation
The *POST /screen/{name}/navigate* path operation allows the client to
request the screen navigate to a different URL, specified by the `url`
form field.
2022-04-30 21:48:12 -05:00
Dustin fa1c9cb42a svc: hud: Protect window switches with a lock
Any time we need to switch Firefox windows, we need to use a lock to
prevent multiple simultaneous requests.  If we do not, interleaved
Marionette commands may result in performing operations on the wrong
window.  For example, making two simultaneous requests for screenshots
is liable to return the wrong window for one of them.
2022-04-30 15:53:57 -05:00
Dustin 35eba74bfd api: Add get screenshot operation
The *GET /screen/{name}/screenshot* path operation returns a screenshot
of the specified screen as a PNG image.  If a value is specified for one
or more of `height`, `width`, or `ratio`, then the image will be resized
accordingly.
2022-04-30 15:51:03 -05:00
Dustin b537896d56 api: List screens by monitor name
The *GET /screens/* path operation now returns a mapping of monitor
names to screen properties.  This matches the new behavior of the *POST
/screen/{name}/refresh* operation.
2022-04-30 14:24:53 -05:00
Dustin d075a1b1a9 meta: Install aiomarionette in development mode
Poetry does not install local path dependencies in "editable" mode by
default.  Instead, it builds them and installs them into the venv like
any other dependency.  This means that changes in the local copy are not
picked up.
2022-04-30 14:22:42 -05:00
Dustin 78169c06f0 api: Refresh screen by monitor name
In order to be more precise about which screen will be refreshed, the
*POST /screen/{number}/refresh* path operation has been changed to *POST
/screen/{name}/refresh*.  It takes a monitor name as the key instead of
an array index.
2022-04-30 14:15:10 -05:00
Dustin dbf266de5b svc: Load URL list from file
Instead of hard-coding the list of URLs to open, we'll read it from a
JSON file on the disk.  The file contains a mapping of monitor names to
URLs, e.g.

```json
{
    "HDMI-1": "http://my.site.one",
    "HDMI-2": "http://my.site.two"
}
```
2022-04-30 13:57:21 -05:00
Dustin 939f24d79f Initial commit 2022-04-30 13:32:42 -05:00