@ing.jorgeu/wargaming-overlay 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -12
- package/battle_reader.py +9 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Overlay local para OBS con marcador, ronda, CP, primarias y secundarias leídos
|
|
|
4
4
|
|
|
5
5
|
**Paquete:** `@ing.jorgeu/wargaming-overlay` · **Comando:** `wargaming-overlay` · **Licencia del código:** 0BSD.
|
|
6
6
|
|
|
7
|
-
El paquete está
|
|
7
|
+
El paquete está publicado en [npm como @ing.jorgeu/wargaming-overlay](https://www.npmjs.com/package/@ing.jorgeu/wargaming-overlay). Para usarlo no necesitas clonar el repositorio. En macOS/Linux, si npm intenta escribir en una carpeta del sistema, usa la instalación en tu usuario que se explica abajo.
|
|
8
8
|
|
|
9
9
|
## Contenido
|
|
10
10
|
|
|
@@ -198,25 +198,95 @@ Ejemplo Windows:
|
|
|
198
198
|
npm.cmd install -g "$HOME\Downloads\ing.jorgeu-wargaming-overlay-2.2.0.tgz"
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-
### C. Desde npm
|
|
201
|
+
### C. Desde npm: versión publicada
|
|
202
|
+
|
|
203
|
+
Puedes ejecutar esto desde cualquier carpeta:
|
|
202
204
|
|
|
203
205
|
```sh
|
|
204
206
|
npm install -g @ing.jorgeu/wargaming-overlay
|
|
207
|
+
wargaming-overlay --version
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
En Windows usa `npm.cmd` y `wargaming-overlay.cmd` si PowerShell bloquea los scripts `.ps1`.
|
|
211
|
+
|
|
212
|
+
Si macOS/Linux responde con `EACCES: permission denied, mkdir '/usr/local/lib/node_modules/...'`, el paquete sí fue encontrado: falta permiso de escritura en la carpeta global de npm. Usa los siguientes pasos, sin sudo.
|
|
213
|
+
|
|
214
|
+
### Instalación desde npm sin sudo en macOS / Linux
|
|
215
|
+
|
|
216
|
+
1. Instala la versión publicada en tu carpeta de usuario:
|
|
217
|
+
|
|
218
|
+
```sh
|
|
219
|
+
npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
2. Habilita el comando en la terminal actual y comprueba la instalación:
|
|
223
|
+
|
|
224
|
+
```sh
|
|
225
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
226
|
+
wargaming-overlay --version
|
|
227
|
+
wargaming-overlay doctor
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
3. Para conservar PATH en nuevas terminales, abre el archivo de configuración de tu shell. En macOS con zsh:
|
|
231
|
+
|
|
232
|
+
```sh
|
|
233
|
+
nano ~/.zshrc
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Si usas bash, abre `nano ~/.bashrc`. Añade esta línea solo si todavía no existe:
|
|
237
|
+
|
|
238
|
+
```sh
|
|
239
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
En nano guarda con Ctrl+O, Enter y sal con Ctrl+X. Abre una nueva terminal y comprueba:
|
|
243
|
+
|
|
244
|
+
```sh
|
|
245
|
+
command -v wargaming-overlay
|
|
246
|
+
wargaming-overlay --version
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Con esta instalación, la ruta debería terminar en `.local/bin/wargaming-overlay`.
|
|
250
|
+
|
|
251
|
+
4. Con el teléfono preparado, inicia:
|
|
252
|
+
|
|
253
|
+
```sh
|
|
254
|
+
wargaming-overlay start
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Si no quieres modificar PATH, también puedes ejecutar `"$HOME/.local/bin/wargaming-overlay" start` directamente.
|
|
258
|
+
|
|
259
|
+
**Diferencia entre instalar desde npm y desde el repositorio:**
|
|
260
|
+
|
|
261
|
+
| Comando | Origen |
|
|
262
|
+
| --- | --- |
|
|
263
|
+
| `npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay` | Descarga el paquete publicado en npm. No vincula el comando a tu repositorio. |
|
|
264
|
+
| `npm install -g --prefix "$HOME/.local" .` | Instala la carpeta actual; npm puede enlazarla al repositorio local. Debes estar en la carpeta del proyecto. |
|
|
265
|
+
|
|
266
|
+
`--prefix` solo cambia el destino de esa operación; no modifica la configuración global de npm. Repite el mismo prefijo al actualizar o desinstalar:
|
|
267
|
+
|
|
268
|
+
```sh
|
|
269
|
+
npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay@latest
|
|
270
|
+
npm uninstall -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay
|
|
205
271
|
```
|
|
206
272
|
|
|
207
|
-
|
|
273
|
+
Son operaciones alternativas: ejecuta la primera para actualizar o la segunda para desinstalar, no ambas seguidas. La desinstalación conserva los datos de las partidas. [Documentación npm install](https://docs.npmjs.com/cli/v8/commands/npm-install/).
|
|
208
274
|
|
|
209
|
-
###
|
|
275
|
+
### Si npm devuelve E404
|
|
210
276
|
|
|
211
|
-
|
|
277
|
+
E404 significa que el registro no encuentra el paquete o que tu sesión no tiene acceso; no es un error de permisos de tu disco. Comprueba el nombre y consulta el registro público:
|
|
212
278
|
|
|
213
279
|
```sh
|
|
214
|
-
npm
|
|
215
|
-
|
|
216
|
-
|
|
280
|
+
npm view @ing.jorgeu/wargaming-overlay version --registry=https://registry.npmjs.org/ --prefer-online
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Si devuelve una versión, vuelve a instalar consultando información actualizada:
|
|
284
|
+
|
|
285
|
+
```sh
|
|
286
|
+
npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay --prefer-online
|
|
217
287
|
```
|
|
218
288
|
|
|
219
|
-
|
|
289
|
+
Si la consulta sigue fallando, revisa `npm config get registry` y la [página del paquete](https://www.npmjs.com/package/@ing.jorgeu/wargaming-overlay). No publiques otra versión ni borres la caché solo para solucionar un E404 de instalación.
|
|
220
290
|
|
|
221
291
|
## Preparar el teléfono
|
|
222
292
|
|
|
@@ -399,8 +469,8 @@ Al cambiar de ronda no reutiliza CP ni misiones de la ronda anterior. Si consult
|
|
|
399
469
|
| --- | --- |
|
|
400
470
|
| `wargaming-overlay: command not found` | Comprueba la instalación con `npm list -g --depth=0`. Revisa PATH y abre otra terminal. En Unix, los ejecutables están bajo `bin` del prefijo mostrado por `npm prefix -g`; en Windows, en el propio prefijo. |
|
|
401
471
|
| PowerShell bloquea un `.ps1` | Usa `npm.cmd` y `wargaming-overlay.cmd`. |
|
|
402
|
-
| npm devuelve EACCES |
|
|
403
|
-
| npm devuelve 404 |
|
|
472
|
+
| npm devuelve EACCES | Ejecuta `npm install -g --prefix "$HOME/.local" @ing.jorgeu/wargaming-overlay` y añade `$HOME/.local/bin` a PATH siguiendo los pasos anteriores. |
|
|
473
|
+
| npm devuelve 404 | Sigue la sección «Si npm devuelve E404»: comprueba nombre, registro y consulta con `--prefer-online`. |
|
|
404
474
|
| ADB no encontrado | Ejecuta `setup --install-adb`, instala Platform-Tools o pasa `--adb` con la ruta completa. |
|
|
405
475
|
| Python ausente/incompatible | Instala Python 3.8+ y usa `--python` si tienes varias instalaciones. En Windows prueba `py -3 --version`. |
|
|
406
476
|
| No aparece ningún teléfono | Revisa cable de datos, puerto USB, desbloqueo y depuración USB. En Windows comprueba drivers. |
|
|
@@ -425,7 +495,7 @@ Detén el servidor con Ctrl+C antes de actualizar. Desde el código fuente actua
|
|
|
425
495
|
npm install -g .
|
|
426
496
|
```
|
|
427
497
|
|
|
428
|
-
Desde npm
|
|
498
|
+
Desde npm:
|
|
429
499
|
|
|
430
500
|
```sh
|
|
431
501
|
npm install -g @ing.jorgeu/wargaming-overlay@latest
|
package/battle_reader.py
CHANGED
|
@@ -13,7 +13,16 @@ def parse(xml):
|
|
|
13
13
|
players = [dict(name=header[i+3], score=int(header[i+1]), cp=None, primary=None, secondary=None, secondaries=None, primaryObjectives=None) for i in range(2)]
|
|
14
14
|
names = [p['name'] for p in players]
|
|
15
15
|
if names[0] == names[1]: raise ValueError('Usa nombres distintos para identificar a los jugadores.')
|
|
16
|
+
# A scrolled two-player round can omit the first player's heading while
|
|
17
|
+
# exposing its scores/missions followed by the other player's heading.
|
|
18
|
+
# That next heading bounds the leading block and identifies its owner.
|
|
19
|
+
headings = [(i, t) for i, t in enumerate(texts) if t in names]
|
|
16
20
|
current = None
|
|
21
|
+
if headings and len({name for _, name in headings}) == 1:
|
|
22
|
+
first_index, next_name = headings[0]
|
|
23
|
+
leading = texts[:first_index]
|
|
24
|
+
if any(re.fullmatch(r'(PRIMARY|SECONDARY):\s*\d+/\d+', t) for t in leading):
|
|
25
|
+
current = players[1 - names.index(next_name)]
|
|
17
26
|
section = None
|
|
18
27
|
for i, t in enumerate(texts):
|
|
19
28
|
if t in names:
|