diff --git a/src/components/downloads/QueueItem.vue b/src/components/downloads/QueueItem.vue
index 8495ee7..dab5e35 100644
--- a/src/components/downloads/QueueItem.vue
+++ b/src/components/downloads/QueueItem.vue
@@ -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'
diff --git a/src/components/downloads/TheDownloadBar.vue b/src/components/downloads/TheDownloadBar.vue
index 1188994..484a65f 100644
--- a/src/components/downloads/TheDownloadBar.vue
+++ b/src/components/downloads/TheDownloadBar.vue
@@ -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) {
diff --git a/src/components/pages/Errors.vue b/src/components/pages/Errors.vue
index 388f19f..e5fe4fd 100644
--- a/src/components/pages/Errors.vue
+++ b/src/components/pages/Errors.vue
@@ -2,12 +2,12 @@
{{ $t('errors.title', { name: title }) }}
-
+
ID |
- {{ $tc('globals.listTabs.artist', 1) }} |
- {{ $tc('globals.listTabs.title', 1) }} |
- {{ $tc('globals.listTabs.error', 1) }} |
+ {{ $tc('globals.listTabs.artist', 1) }} |
+ {{ $tc('globals.listTabs.title', 1) }} |
+ {{ $tc('globals.listTabs.error', 1) }} |
{{ error.data.id }} |
@@ -16,6 +16,21 @@
{{ error.errid ? $t(`errors.ids.${error.errid}`) : error.message }} |
+
+
{{$t('errors.postTitle')}}
+
+
+ ID |
+ {{ $tc('globals.listTabs.empty')}} |
+ {{ $tc('globals.listTabs.error', 1) }} |
+
+
+ {{ error.data.position }} |
+ {{ error.data.artist }} - {{ error.data.title }} |
+ {{ error.errid ? $t(`errors.ids.${error.errid}`) : error.message }} |
+
+
+
@@ -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
}
}
}
diff --git a/src/components/pages/Settings.vue b/src/components/pages/Settings.vue
index 720bacb..56e513e 100644
--- a/src/components/pages/Settings.vue
+++ b/src/components/pages/Settings.vue
@@ -35,14 +35,14 @@
diff --git a/src/lang/en.js b/src/lang/en.js
index cfd480a..7ecccf2 100644
--- a/src/lang/en.js
+++ b/src/lang/en.js
@@ -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'
diff --git a/src/lang/it.js b/src/lang/it.js
index 17c450d..6edfb23 100644
--- a/src/lang/it.js
+++ b/src/lang/it.js
@@ -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',