Show indicator if platform not identified

This commit is contained in:
Georges-Antoine Assi
2025-09-30 21:22:07 -04:00
parent 0b24256df5
commit 896b9edd17
21 changed files with 61 additions and 14 deletions

View File

@@ -23,27 +23,27 @@ lint:
- pyright
enabled:
- dotenv-linter@3.3.0
- hadolint@2.13.1
- hadolint@2.14.0
- markdownlint@0.45.0
- eslint@9.35.0
- eslint@9.36.0
- actionlint@1.7.7
- bandit@1.8.6
- black@25.1.0
- checkov@3.2.471
- black@25.9.0
- checkov@3.2.473
- git-diff-check
- isort@6.0.1
- mypy@1.18.1
- mypy@1.18.2
- osv-scanner@2.2.2
- prettier@3.6.2:
packages:
- "@trivago/prettier-plugin-sort-imports@5.2.2"
- "@vue/compiler-sfc@3.5.21"
- ruff@0.13.0
- "@vue/compiler-sfc@3.5.22"
- ruff@0.13.2
- shellcheck@0.11.0
- shfmt@3.6.0
- taplo@0.10.0
- trivy@0.66.0
- trufflehog@3.90.6
- trivy@0.67.0
- trufflehog@3.90.8
- yamllint@1.37.1
ignore:
- linters: [ALL]

View File

@@ -370,7 +370,7 @@ async def _identify_platform(
await socket_manager.emit(
"scan:scanning_platform",
PlatformSchema.model_validate(platform).model_dump(
include={"id", "name", "slug", "fs_slug"}
include={"id", "name", "slug", "fs_slug", "is_identified"}
),
)
await socket_manager.emit("", None)

View File

@@ -219,8 +219,8 @@ async def scan_platform(
or platform_attrs["launchbox_id"]
or hasheous_platform["hasheous_id"]
or tgdb_platform["tgdb_id"]
or flashpoint_platform["slug"]
or hltb_platform["slug"]
or flashpoint_platform["flashpoint_id"]
or hltb_platform["hltb_slug"]
):
log.info(
f"Folder {hl(platform_attrs['slug'])}[{hl(fs_slug, color=LIGHTYELLOW)}] identified as {hl(platform_attrs['name'], color=BLUE)} {emoji.EMOJI_VIDEO_GAME}",

View File

@@ -435,6 +435,18 @@ watch(
</v-chip>
</v-col>
</v-row>
<v-row
v-else
class="text-white text-shadow mt-2 text-center"
no-gutters
>
<v-col cols="12">
<v-chip color="red" size="small" label>
<v-icon class="mr-1"> mdi-close </v-icon>
{{ t("scan.not-identified").toUpperCase() }}
</v-chip>
</v-col>
</v-row>
<v-card class="mt-4 bg-toplayer fill-width" elevation="0">
<v-card-text class="pa-4 d-flex flex-wrap ga-2">
<template v-for="field in PLATFORM_INFO_FIELDS" :key="field.key">

View File

@@ -41,17 +41,26 @@ socket.on(
slug,
id,
fs_slug,
is_identified,
}: {
name: string;
slug: string;
id: number;
fs_slug: string;
is_identified: boolean;
}) => {
scanningStore.set(true);
scanningPlatforms.value = scanningPlatforms.value.filter(
(platform) => platform.name !== name,
);
scanningPlatforms.value.push({ name, slug, id, fs_slug, roms: [] });
scanningPlatforms.value.push({
name,
slug,
id,
fs_slug,
roms: [],
is_identified,
});
},
);
@@ -82,6 +91,7 @@ socket.on("scan:scanning_rom", (rom: SimpleRom) => {
slug: rom.platform_slug,
id: rom.platform_id,
fs_slug: rom.platform_fs_slug,
is_identified: true,
roms: [],
});
scannedPlatform = scanningPlatforms.value[0];

View File

@@ -11,6 +11,7 @@
"new-platforms": "Neue Platformen",
"new-platforms-desc": "Nur neue Plattformen scannen (am schnellsten)",
"no-new-roms": "Keine neuen oder geänderten Roms gefunden",
"not-identified": "Nicht identifiziert",
"partial-metadata": "Unvollständige Metadaten",
"partial-metadata-desc": "Scanne Spiele mit unvollständigen Metadaten",
"platforms-scanned-n": "Plattformen: {n} gescannte | Plattformen: {n} gescannt",

View File

@@ -11,6 +11,7 @@
"new-platforms": "New platforms",
"new-platforms-desc": "Scan new platforms only (fastest)",
"no-new-roms": "No new/changed roms found",
"not-identified": "Not identified",
"partial-metadata": "Partial metadata",
"partial-metadata-desc": "Scan games with partial metadata matches",
"platforms-scanned-n": "Platforms: {n} scanned",

View File

@@ -11,6 +11,7 @@
"new-platforms": "New platforms",
"new-platforms-desc": "Scan new platforms only (fastest)",
"no-new-roms": "No new/changed roms found",
"not-identified": "Not identified",
"partial-metadata": "Partial metadata",
"partial-metadata-desc": "Scan games with partial metadata matches",
"platforms-scanned-n": "Platforms: {n} scanned",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Plataformas nuevas",
"new-platforms-desc": "Escanea únicamente plataformas añadidas recientemente (más rápido)",
"no-new-roms": "No se han encontrado ficheros nuevos o modificados",
"not-identified": "No identificado",
"partial-metadata": "Metadatos parciales",
"partial-metadata-desc": "Escanea únicamente juegos identificados con metadatos a medias",
"platforms-scanned-n": "Plataformas: {n} escaneada | Plataformas: {n} escaneadas",

View File

@@ -10,6 +10,7 @@
"metadata-sources": "Sources de métadonnées",
"new-platforms": "Nouvelles plateformes",
"new-platforms-desc": "Scanner uniquement les plateformes récemment ajoutées (plus rapide)",
"not-identified": "Non identifié",
"no-new-roms": "Aucun nouveau fichier ou fichier modifié trouvé",
"partial-metadata": "Métadonnées partielles",
"partial-metadata-desc": "Scanner uniquement les jeux identifiés avec des métadonnées partielles",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Nuove piattaforme",
"new-platforms-desc": "Scansiona solo le nuove piattaforme (più veloce)",
"no-new-roms": "Nessuna nuova rom o modifica trovata",
"not-identified": "Non identificato",
"partial-metadata": "Metadati parziali",
"partial-metadata-desc": "Scansiona i giochi con metadati parziali",
"platforms-scanned-n": "Piattaforme: {n} scansionate",

View File

@@ -11,6 +11,7 @@
"new-platforms": "新規プラットフォーム",
"new-platforms-desc": "新規プラットフォームのみを検索 (最速)",
"no-new-roms": "新規・変更されたromはありません",
"not-identified": "未識別",
"partial-metadata": "部分的なメタデータ",
"partial-metadata-desc": "メタデータが部分的に一致するゲームをスキャン",
"platforms-scanned-n": "プラットフォーム: {n} スキャン済み",

View File

@@ -11,6 +11,7 @@
"new-platforms": "새 플랫폼",
"new-platforms-desc": "새 플랫폼에서만 스캔 (가장 빠름)",
"no-new-roms": "새로운/수정된 롬이 없습니다",
"not-identified": "확인되지 않음",
"partial-metadata": "일부 메타데이터",
"partial-metadata-desc": "일부 메타데이터와 대응된 게임들 스캔",
"platforms-scanned-n": "플랫폼: {n}개 스캔됨",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Nowe platformy",
"new-platforms-desc": "Skanuj tylko nowe platformy (najszybsze)",
"no-new-roms": "Nie znaleziono nowych ani zmodyfikowanych ROM-ów",
"not-identified": "Niezidentyfikowane",
"partial-metadata": "Częściowe metadane",
"partial-metadata-desc": "Skanuj gry z częściowym dopasowaniem metadanych",
"platforms-scanned-n": "Platformy: zeskanowano {n}",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Novas plataformas",
"new-platforms-desc": "Escanear apenas novas plataformas (mais rápido)",
"no-new-roms": "Nenhum novo/alterado rom encontrado",
"not-identified": "Não identificado",
"partial-metadata": "Metadados parciais",
"partial-metadata-desc": "Escanear jogos com correspondências parciais de metadados",
"platforms-scanned-n": "Plataformas: {n} escaneada | Plataformas: {n} escaneadas",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Platforme noi",
"new-platforms-desc": "Scanează doar platformele adăugate recent (mai rapid)",
"no-new-roms": "Nu s-au găsit fișiere noi sau modificate",
"not-identified": "Neidentificat",
"partial-metadata": "Metadate parțiale",
"partial-metadata-desc": "Scanează doar jocurile identificate cu metadate incomplete",
"platforms-scanned-n": "Platforme: {n} scanată | Platforme: {n} scanate",

View File

@@ -11,6 +11,7 @@
"new-platforms": "Новые платформы",
"new-platforms-desc": "Сканировать только новые платформы (самый быстрый)",
"no-new-roms": "Новых/измененных ромов не найдено",
"not-identified": "Не опознано",
"partial-metadata": "Частичные метаданные",
"partial-metadata-desc": "Сканировать игры с частичными совпадениями метаданных",
"platforms-scanned-n": "Платформы: {n} отсканировано",

View File

@@ -11,6 +11,7 @@
"new-platforms": "新平台",
"new-platforms-desc": "仅扫描新平台(最快)",
"no-new-roms": "未找到新增或更新过的 Rom 文件",
"not-identified": "未识别",
"partial-metadata": "部分元数据",
"partial-metadata-desc": "扫描部分元数据匹配的游戏",
"platforms-scanned-n": "平台:{n} 已扫描",

View File

@@ -11,6 +11,7 @@
"new-platforms": "新平台",
"new-platforms-desc": "只掃描新平台(最快)",
"no-new-roms": "未找到新增或更新過的 Rom 檔案",
"not-identified": "未識別",
"partial-metadata": "部分元數據",
"partial-metadata-desc": "只掃描部分元數據匹配的遊戲",
"platforms-scanned-n": "已掃描 {n} 個平台",

View File

@@ -6,6 +6,7 @@ interface ScanningPlatforms {
slug: string;
fs_slug: string;
id: number;
is_identified: boolean;
roms: SimpleRom[];
}

View File

@@ -352,6 +352,16 @@ async function stopScan() {
<v-chip class="ml-3" color="primary" size="x-small" label>
{{ platform.roms.length }}
</v-chip>
<v-chip
v-if="!platform.is_identified"
color="red"
size="small"
class="ml-3"
label
>
<v-icon class="mr-1"> mdi-close </v-icon>
{{ t("scan.not-identified").toUpperCase() }}
</v-chip>
</template>
</v-list-item>
</v-expansion-panel-title>
@@ -379,7 +389,7 @@ async function stopScan() {
label
>
<v-icon class="mr-1"> mdi-close </v-icon>
Not identified
{{ t("scan.not-identified") }}
</v-chip>
<v-chip
v-if="rom.hasheous_id"