Feature: Improve filtering and release parsing (#56)

* feat: match against orig and cleaned rel

* feat: add more release parse tests

* feat: filter check tags

* feat: improve filter tag parsing

* refactor: simplify tag split and trim

* fix(indexers): use releasetags for milkie

* fix: properly replace spaces in string

* feat: better source check

* feat: extract releasetags
This commit is contained in:
Ludvig Lundgren 2022-01-01 21:50:38 +01:00 committed by GitHub
parent 8f53becbb3
commit ae1f14d0a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 1036 additions and 130 deletions

View file

@ -218,23 +218,22 @@ func (a *announceProcessor) onLinesMatched(def domain.IndexerDefinition, vars ma
var err error
err = release.MapVars(vars)
// FIXME is this even needed anymore?
// canonicalize name
//canonReleaseName := cleanReleaseName(release.TorrentName)
//log.Trace().Msgf("canonicalize release name: %v", canonReleaseName)
if err != nil {
log.Error().Stack().Err(err).Msg("announce: could not map vars for release")
return err
}
// parse fields
err = release.Parse()
if err != nil {
log.Error().Err(err).Msg("announce: could not parse release")
log.Error().Stack().Err(err).Msg("announce: could not parse release")
return err
}
// generate torrent url
torrentUrl, err := a.processTorrentUrl(def.Parse.Match.TorrentURL, vars, def.SettingsMap, def.Parse.Match.Encode)
if err != nil {
log.Error().Err(err).Msg("announce: could not process torrent url")
log.Error().Stack().Err(err).Msg("announce: could not process torrent url")
return err
}