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 var searchResults []babelioSearchResult
callapiutils.FetchAndParseResultFromPost(searchUrl, &term, &searchResults) callapiutils.FetchAndParseResultFromPost(searchUrl, &term, &searchResults)
if len(searchResults) == 0 { 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 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." UserAlreadyExists = "An user with this name already exists."
ErrorWhenCreatingUserFromStr = "Error when creating user from string %s" ErrorWhenCreatingUserFromStr = "Error when creating user from string %s"
ISBNNotFoundBabelio = "ISBN %s not found on babelio." 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à." UserAlreadyExists = "Un utilisateur avec le même nom existe déjà."
ErrorWhenCreatingUserFromStr = "Erreur lors de la création de l'utilisateur %s" ErrorWhenCreatingUserFromStr = "Erreur lors de la création de l'utilisateur %s"
ISBNNotFoundBabelio = "L'ISBN %s n'est pas sur babelio." 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 { type TranslatedError struct {
Err error Err error
Arg string
} }
type HttpError struct { type HttpError struct {
@@ -67,6 +68,10 @@ func (e TranslatedError) Error() string {
return fmt.Sprintf("%v", e.Err) 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 { type apiValidationError struct {
Field string `json:"field"` Field string `json:"field"`
Err string `json:"error"` Err string `json:"error"`

View File

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