scan view logs improved

This commit is contained in:
zurdi zurdo
2023-05-11 19:32:37 +02:00
parent 89ac81c675
commit bef49ffe59
3 changed files with 17 additions and 17 deletions

View File

@@ -45,10 +45,10 @@ async def scan(sid, platforms: str, complete_rescan: bool=True):
platforms: list[str] = json.loads(platforms) if len(json.loads(platforms)) > 0 else fs_platforms
log.info(f"Platforms to be scanned: {', '.join(platforms)}")
for platform in platforms:
await app.sio.emit('scanning_platform', platform)
await app.sio.emit('') # Workaround to emit in real-time
log.info(emoji.emojize(f":video_game: {platform} {COLORS['reset']}"))
scanned_platform: Platform = fastapi.scan_platform(platform)
await app.sio.emit('scanning_platform', [scanned_platform.name, scanned_platform.slug])
await app.sio.emit('') # Workaround to emit in real-time
if platform != str(scanned_platform): log.info(f"Identified as {COLORS['blue']}{scanned_platform}{COLORS['reset']}")
dbh.add_platform(scanned_platform)
@@ -80,5 +80,5 @@ def startup() -> None:
if __name__ == '__main__':
uvicorn.run("main:app", host=DEV_HOST, port=DEV_PORT, reload=True)
# uvicorn.run("main:app", host=DEV_HOST, port=DEV_PORT, reload=False, workers=2)
# uvicorn.run("main:app", host=DEV_HOST, port=DEV_PORT, reload=True)
uvicorn.run("main:app", host=DEV_HOST, port=DEV_PORT, reload=False, workers=2)

View File

@@ -44,7 +44,8 @@ onMounted(() => {
<v-main>
<v-container class="pa-0" fluid>
<app-bar v-if="mdAndDown"/>
<router-view :key="refresh"/>
<!-- <router-view :key="refresh"/> -->
<router-view/>
</v-container>
</v-main>

View File

@@ -9,21 +9,23 @@ const platforms = storePlatforms()
const platformsToScan = ref([])
const scanning = storeScanning()
const scanningPlatform = ref("")
const scannedRoms = ref([])
const scannedPlatforms = ref([])
const completeRescan = ref(false)
// Event listeners bus
const emitter = inject('emitter')
// Functions
async function scan() {
scanning.set(true);
scannedPlatforms.value = []
const socket = io({ path: '/ws/socket.io/', transports: ['websocket', 'polling'] })
socket.on("scanning_platform", (platform) => { scanningPlatform.value = platform })
socket.on("scanning_rom", (rom) => { scannedRoms.value.push(rom) })
socket.on("scanning_platform", (platform) => { scannedPlatforms.value.push({'p_name': platform[0], 'p_slug': platform[1], 'r': []}); scanningPlatform.value = platform[1] })
socket.on("scanning_rom", (r) => { scannedPlatforms.value.forEach(e => { if(e['p_slug'] == scanningPlatform.value){ e['r'].push(r) } }) })
socket.on("done", () => {
scanning.set(false);
// emitter.emit('refresh')
emitter.emit('refresh')
emitter.emit('snackbarScan', {'msg': "Scan completed successfully!", 'icon': 'mdi-check-bold', 'color': 'green'})
socket.close()
})
@@ -76,14 +78,11 @@ async function scan() {
</v-btn>
</v-row>
<v-row no-gutters class="align-center">
<v-col cols="12" class="pa-2">
<v-avatar :rounded="0" size="40"><v-img :src="'/assets/platforms/'+scanningPlatform+'.ico'"></v-img></v-avatar>
<span class="text-overline ml-5"> {{ scanningPlatform }}</span>
</v-col>
<v-col cols="12">
<v-list-item v-for="rom in scannedRoms" class="text-body-2" disabled> - {{ rom }}</v-list-item>
<!-- <v-list-item class="text-body-2" disabled>{{ scanningRom }}</v-list-item> -->
<v-row no-gutters class="align-center pa-4" v-for="d in scannedPlatforms">
<v-col class="pa-0 ma-0">
<v-avatar :rounded="0" size="40"><v-img :src="'/assets/platforms/'+d['p_slug']+'.ico'"></v-img></v-avatar>
<span class="text-body-2 ml-5"> {{ d['p_name'] }}</span>
<v-list-item v-for="r in d['r']" class="text-body-2" disabled> - {{ r }}</v-list-item>
</v-col>
</v-row>
</div>