Added more error logging and started refactoring lang files

This commit is contained in:
RemixDev 2022-01-06 16:39:38 +01:00
parent 202a0b1320
commit 69b19f78ba
6 changed files with 65 additions and 27 deletions

View file

@ -67,6 +67,9 @@ export default {
hasFails() {
return this.queueItem.failed >= 1
},
hasErrors() {
return this.queueItem.errors.length >= 1
},
allFailed() {
let allFailed = false
@ -77,7 +80,7 @@ export default {
return allFailed
},
finishedWithFails() {
return this.queueItem.status === 'download finished' && this.hasFails
return this.queueItem.status === 'download finished' && (this.hasFails || this.hasErrors)
},
isDeterminateStatus() {
return possibleStates.includes(this.queueItem.status)
@ -93,7 +96,7 @@ export default {
let width = 0
let backgroundColor = 'var(--primary-color)'
if (this.hasFails) {
if (this.hasFails || this.hasErrors) {
// Orange
backgroundColor = 'hsl(33, 100%, 47%)'
} else {
@ -128,7 +131,7 @@ export default {
let text = 'delete_forever'
if (this.queueItem.status === 'download finished') {
if (!this.hasFails) {
if (!(this.hasFails || this.hasErrors)) {
text = 'done'
} else if (this.queueItem.failed >= this.queueItem.size) {
text = 'error'

View file

@ -254,7 +254,7 @@ export default {
},
updateQueue(update) {
// downloaded and failed default to false?
const { uuid, downloaded, failed, progress, conversion, error, data, errid, stack } = update
const { uuid, downloaded, failed, progress, conversion, error, data, errid, stack, postFailed } = update
if (uuid && this.queue.includes(uuid)) {
if (downloaded) {
@ -273,6 +273,10 @@ export default {
if (conversion) {
this.queueList[uuid].conversion = conversion
}
if (postFailed) {
this.queueList[uuid].errors.push({ message: error, data, stack })
}
}
},
removeFromQueue(uuid) {

View file

@ -2,12 +2,12 @@
<div>
<h1 class="mb-8 text-5xl">{{ $t('errors.title', { name: title }) }}</h1>
<table class="table table--tracklist">
<table class="table table--tracklist" v-if="errors.length >= 1">
<tr>
<th>ID</th>
<th>{{ $tc('globals.listTabs.artist', 1) }}</th>
<th>{{ $tc('globals.listTabs.title', 1) }}</th>
<th>{{ $tc('globals.listTabs.error', 1) }}</th>
<th class="uppercase-first-letter">{{ $tc('globals.listTabs.artist', 1) }}</th>
<th class="uppercase-first-letter">{{ $tc('globals.listTabs.title', 1) }}</th>
<th class="uppercase-first-letter">{{ $tc('globals.listTabs.error', 1) }}</th>
</tr>
<tr v-for="error in errors" :key="error.data.id">
<td>{{ error.data.id }}</td>
@ -16,6 +16,21 @@
<td><span :title="error.stack">{{ error.errid ? $t(`errors.ids.${error.errid}`) : error.message }}</span></td>
</tr>
</table>
<div v-if="postErrors.length >= 1">
<h2>{{$t('errors.postTitle')}}</h2>
<table class="table table--tracklist">
<tr>
<th>ID</th>
<th class="uppercase-first-letter">{{ $tc('globals.listTabs.empty')}}</th>
<th class="uppercase-first-letter">{{ $tc('globals.listTabs.error', 1) }}</th>
</tr>
<tr v-for="error in postErrors" :key="error.data.id">
<td>{{ error.data.position }}</td>
<td><span v-if="error.data.id">{{ error.data.artist }} - {{ error.data.title }}</span></td>
<td><span :title="error.stack">{{ error.errid ? $t(`errors.ids.${error.errid}`) : error.message }}</span></td>
</tr>
</table>
</div>
</div>
</template>
@ -29,7 +44,18 @@ export default {
return `${this.getErrors.artist} - ${this.getErrors.title}`
},
errors() {
return this.getErrors.errors
let errors = []
this.getErrors.errors.forEach(error => {
if(!error.type || error.type === "track") errors.push(error)
})
return errors
},
postErrors() {
let errors = []
this.getErrors.errors.forEach(error => {
if(error.type === "post") errors.push(error)
})
return errors
}
}
}

View file

@ -35,14 +35,14 @@
<div v-else>
<form ref="loginWithCredentialsForm" @submit.prevent="loginWithCredentials">
<label>
<span>{{ $t('settings.loginWithCredentials.email') }}</span>
<span>{{ $t('settings.login.email') }}</span>
<input type="text" name="email" placeholder="email@example.com" class="mb-6"/>
</label>
<label>
<span>{{ $t('settings.loginWithCredentials.password') }}</span>
<span>{{ $t('settings.login.password') }}</span>
<input type="password" name="password" placeholder="●●●●●●●●" class="mb-6"/>
</label>
<button class="btn btn-primary login-button" type="submit">{{ $t('settings.loginWithCredentials.login') }}</button>
<button class="btn btn-primary login-button" type="submit">{{ $t('settings.login.login') }}</button>
</form>
</div>

View file

@ -115,6 +115,7 @@ const en = {
},
errors: {
title: 'Errors for {name}',
postTitle: 'After download errors',
ids: {
invalidURL: 'URL not recognized',
unsupportedURL: 'URL not supported yet',
@ -227,13 +228,9 @@ const en = {
arl: {
title: 'Use ARL instead',
question: 'How do I get my own ARL?',
update: 'Update ARL'
update: 'Force Update ARL'
},
logout: 'Logout',
login: 'Login via deezer.com'
},
loginWithCredentials: {
title: 'Login with credentials',
login: 'Login',
email: 'E-mail',
password: 'Password'

View file

@ -116,6 +116,7 @@ const it = {
},
errors: {
title: 'Errori riguardanti {name}',
postTitle: 'Errori dopo il download',
ids: {
invalidURL: 'URL non riconosciuto',
unsupportedURL: 'URL non ancora supportato',
@ -133,7 +134,10 @@ const it = {
notAvailable: 'Brano non presente sui server di Deezer!',
notAvailableNoAlternative: 'Brano non presente sui server di Deezer e nessuna alternativa trovata!',
noSpaceLeft: 'Spazio su disco esaurito!',
albumDoesntExists: 'Il brano non ha nessun album, impossibile ottenere informazioni'
albumDoesntExists: 'Il brano non ha nessun album, impossibile ottenere informazioni',
wrongLicense: 'Il tuo account non può ascoltare questo brano con il bitrate specificato.',
wrongGeolocation: 'Il tuo account non può ascoltare questo brano dal tuo paese.',
wrongGeolocationNoAlternative: 'Il tuo account non può ascoltare questo brano dal e nessuna alternativa trovata.'
}
},
favorites: {
@ -152,8 +156,7 @@ const it = {
}
},
linkAnalyzer: {
info:
'Puoi utilizzare questa sezione per avere più informazioni riguardanti il link che stai cercando di scaricare.',
info: 'Puoi utilizzare questa sezione per avere più informazioni riguardanti il link che stai cercando di scaricare.',
useful:
'Ciò può esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.',
linkNotSupported: 'Questo link non è ancora supportato',
@ -213,7 +216,8 @@ const it = {
loginNeededToDownload: 'Devi accedere prima di poter scaricare brani!',
deezerNotAvailable: 'Deezer non è disponibile nel tuo paese. Dovresti usare una VPN.',
startGeneratingItems: 'Elaborando {n} oggetti...',
finishGeneratingItems: '{n} oggetti generati.'
finishGeneratingItems: '{n} oggetti generati.',
noLovedPlaylist: 'Nessuna playlist "Canzoni del cuore"!'
},
settings: {
title: 'Impostazioni',
@ -222,14 +226,11 @@ const it = {
title: 'Login',
loggedIn: 'Sei loggato come {username}',
arl: {
title: "Usa l'ARL",
question: 'Come ottengo il mio ARL?',
update: 'Aggiorna ARL'
},
logout: 'Disconnettiti',
login: 'Accedi tramite deezer.com'
},
loginWithCredentials: {
title: 'Login con credentiali',
login: 'Login',
email: 'E-mail',
password: 'Password'
@ -290,6 +291,8 @@ const it = {
},
fallbackBitrate: 'Utilizza bitrate più bassi se il bitrate preferito non è disponibile',
fallbackSearch: 'Cerca il brano se il link originale non è disponibile',
fallbackISRC: 'Cerca tramite ISRC se il brano non è disponibile',
feelingLucky: 'Prova e usa il metodo vecchio di generazione degli URL',
logErrors: 'Crea file di log per gli errori',
logSearched: 'Crea file di log per le alternative cercate',
syncedLyrics: 'Crea i file .lyr (Testi Sincronizzati)',
@ -322,6 +325,7 @@ const it = {
head: 'Quali tag salvare',
title: 'Titolo',
artist: 'Artista',
artists: 'Tag ARTISTS extra',
album: 'Album',
cover: 'Copertina',
trackNumber: 'Numero Traccia',
@ -344,7 +348,9 @@ const it = {
copyright: 'Copyright',
composer: 'Compositori',
involvedPeople: 'Persone Coinvolte',
source: 'Sorgente e ID brano'
source: 'Sorgente e ID brano',
artistsWarning:
'Disabilitare il tag ARTSITS mentre non si sta usando la specificazione standard non salverà il multiartist'
},
other: {
title: 'Altro',
@ -356,7 +362,9 @@ const it = {
nothing: "Salva solo l'artista principale",
default: 'Usando la specificazione standard',
andFeat: 'Usando & e feat.',
using: 'Usando "{separator}"'
using: 'Usando "{separator}"',
warning:
'Usando qualisasi separatore diverso dallo standard aggiugerà il tag ARTISTS per salvare il multiartist'
},
singleAlbumArtist: "Salva solo l'artista dell'album principale",
albumVariousArtists: 'Lascia "Artisti Vari" negli artisti dell\'album',