Improve error messages when fetching description on babelio

This commit is contained in:
2026-03-24 17:23:06 +01:00
parent 843c5b5dbc
commit 5e6715d586
5 changed files with 11 additions and 3 deletions

View File

@@ -50,7 +50,7 @@ func searchPageIsbn(baseUrl, isbn string) (string, error) {
var searchResults []babelioSearchResult
callapiutils.FetchAndParseResultFromPost(searchUrl, &term, &searchResults)
if len(searchResults) == 0 {
return "", myvalidator.TranslatedError{Err: errors.New("ISBNNotFoundBabelio")}
return "", myvalidator.TranslatedError{Err: errors.New("ISBNNotFoundBabelio"), Arg: isbn}
}
return searchResults[0].Url, nil

View File

@@ -10,3 +10,5 @@ RegistrationDisabled = "Registration has been disabled on this instance."
UserAlreadyExists = "An user with this name already exists."
ErrorWhenCreatingUserFromStr = "Error when creating user from string %s"
ISBNNotFoundBabelio = "ISBN %s not found on babelio."
BabelioParseError = "Error when parsing babelio."
BabelioFetchDescError = "Error when fetching description on babelio."

View File

@@ -10,3 +10,5 @@ RegistrationDisabled = "La création de nouveaux comptes a été désactivée su
UserAlreadyExists = "Un utilisateur avec le même nom existe déjà."
ErrorWhenCreatingUserFromStr = "Erreur lors de la création de l'utilisateur %s"
ISBNNotFoundBabelio = "L'ISBN %s n'est pas sur babelio."
BabelioParseError = "Erreur en parsant babelio."
BabelioFetchDescError = "Erreur lors de la récupération de la description sur babelio."

View File

@@ -14,6 +14,7 @@ import (
type TranslatedError struct {
Err error
Arg string
}
type HttpError struct {
@@ -67,6 +68,10 @@ func (e TranslatedError) Error() string {
return fmt.Sprintf("%v", e.Err)
}
func (e TranslatedError) ToTranslatedMessage(ac *appcontext.AppContext) string {
return fmt.Sprintf(i18nresource.GetTranslatedMessage(ac, e.Error()), e.Arg)
}
type apiValidationError struct {
Field string `json:"field"`
Err string `json:"error"`

View File

@@ -9,7 +9,6 @@ import (
"git.artlef.fr/bibliomane/internal/babelio"
"git.artlef.fr/bibliomane/internal/dto"
"git.artlef.fr/bibliomane/internal/fileutils"
"git.artlef.fr/bibliomane/internal/i18nresource"
"git.artlef.fr/bibliomane/internal/inventaire"
"git.artlef.fr/bibliomane/internal/model"
"git.artlef.fr/bibliomane/internal/myvalidator"
@@ -75,7 +74,7 @@ func saveInventaireBookToDb(ac appcontext.AppContext, inventaireEdition inventai
te, isTrError := errors.AsType[myvalidator.TranslatedError](err)
var errToPrint string
if isTrError {
errToPrint = i18nresource.GetTranslatedMessage(&ac, te.Error())
errToPrint = te.ToTranslatedMessage(&ac)
} else {
errToPrint = err.Error()
}