Improve error messages when fetching description on babelio
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user