c54d3a6792c5ab1b431311c14255be1d1886eb52
Two operator requirements for MBeg keyboards and server connections: 1. align_keyboard_local_ids(): on every keyboard interface under Clients/GeViIO/GeViIO_01, set each video input/output LocalID equal to its GlobalID so operators can address cameras/monitors by global id. Virtual decoders/servers under GeViIO_Virtual keep their sequential local ids. Runs after prune in /api/set/export and /api/batch/build. 2. preserve_server_credentials(): server User/Password are entered by hand and must survive re-importing the server list from Excel. Matched by alias, an existing non-empty credential overrides the imported value. Applied to G-Core and GeViScope servers in /api/batch/build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GeViSetWEB
Lightweight single-user web tool for editing GeViSet .set files with fast tables.
Features
- Parse
.setfiles into editable tables (servers + action mappings) - Edit, add, and delete G-Core and GeViScope servers
- Edit and extend action mappings
- Import new entries from Excel templates
- Export back to
.set
Layout
backend/FastAPI servicefrontend/React + Vite UIsamples/Excel templates copied from the original workspace
Backend setup
cd C:/DEV/COPILOT_codex/GeViSetWEB/backend
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8002
Frontend setup
cd C:/DEV/COPILOT_codex/GeViSetWEB/frontend
npm install
npm run dev
The UI expects the API at http://localhost:8002 by default. To override, set VITE_API_BASE in a .env file.
Docker
Build the image:
docker build -t gevisetweb .
Run:
docker run --rm -p 8002:8002 gevisetweb
Open:
http://<host>:8002
Docker Compose
docker compose up --build
Notes
- The action mapping editor edits output actions (name/action/server) for speed.
- New action mappings imported from Excel use a template from the first mapping rule.
Description
Languages
Python
72.9%
JavaScript
13.9%
CSS
7.5%
TypeScript
5%
Dockerfile
0.5%
Other
0.2%