Добавил логи
This commit is contained in:
@@ -15,7 +15,7 @@ import (
|
||||
func parsePlan(raw string, in Input) (Plan, error) {
|
||||
jsonStr, err := llm.ExtractJSONObject(raw)
|
||||
if err != nil {
|
||||
return Plan{}, fmt.Errorf("в ответе нет JSON-объекта")
|
||||
return Plan{}, fmt.Errorf("no JSON object in response")
|
||||
}
|
||||
|
||||
var p Plan
|
||||
@@ -25,7 +25,7 @@ func parsePlan(raw string, in Input) (Plan, error) {
|
||||
// Повторяем без строгого режима: лишние поля — не повод падать,
|
||||
// но если и так не разобралось — это ошибка схемы.
|
||||
if err2 := json.Unmarshal([]byte(jsonStr), &p); err2 != nil {
|
||||
return Plan{}, fmt.Errorf("JSON не разобран: %v", err2)
|
||||
return Plan{}, fmt.Errorf("JSON not parsed: %v", err2)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,15 +42,15 @@ func validateSchema(p *Plan, in Input) error {
|
||||
switch p.Type {
|
||||
case MediaMovie, MediaSeries:
|
||||
case "":
|
||||
return fmt.Errorf("поле type пустое (ожидалось movie или series)")
|
||||
return fmt.Errorf("field type is empty (expected movie or series)")
|
||||
default:
|
||||
return fmt.Errorf("неизвестный type %q", p.Type)
|
||||
return fmt.Errorf("unknown type %q", p.Type)
|
||||
}
|
||||
if strings.TrimSpace(p.Title) == "" {
|
||||
return fmt.Errorf("поле title пустое")
|
||||
return fmt.Errorf("field title is empty")
|
||||
}
|
||||
if len(p.Files) == 0 {
|
||||
return fmt.Errorf("список files пуст")
|
||||
return fmt.Errorf("files list is empty")
|
||||
}
|
||||
|
||||
known := make(map[string]bool, len(in.Files))
|
||||
@@ -61,16 +61,16 @@ func validateSchema(p *Plan, in Input) error {
|
||||
for i := range p.Files {
|
||||
pf := &p.Files[i]
|
||||
if !pf.Role.valid() {
|
||||
return fmt.Errorf("файл %q: неизвестная role %q", pf.Src, pf.Role)
|
||||
return fmt.Errorf("file %q: unknown role %q", pf.Src, pf.Role)
|
||||
}
|
||||
if strings.TrimSpace(pf.Src) == "" {
|
||||
return fmt.Errorf("файл с пустым src")
|
||||
return fmt.Errorf("file with empty src")
|
||||
}
|
||||
if !known[pf.Src] {
|
||||
return fmt.Errorf("src %q не найден среди файлов торрента", pf.Src)
|
||||
return fmt.Errorf("src %q not found among torrent files", pf.Src)
|
||||
}
|
||||
if pf.Role == RoleEpisode && pf.Episode == nil {
|
||||
return fmt.Errorf("серия %q без номера episode", pf.Src)
|
||||
return fmt.Errorf("episode %q has no episode number", pf.Src)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user