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
|
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
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
@@ -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"`
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user