mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
feat(macros): add IndexerName
(#1511)
* feat(macros): add IndexerName * fix: tests * fix: tests
This commit is contained in:
parent
c43e2c76d6
commit
3c3b47fa10
37 changed files with 310 additions and 235 deletions
|
@ -101,7 +101,7 @@ func (s *service) ProcessManual(ctx context.Context, req *domain.ReleaseProcessR
|
|||
return err
|
||||
}
|
||||
|
||||
rls := domain.NewRelease(def.Identifier)
|
||||
rls := domain.NewRelease(domain.IndexerMinimal{ID: def.ID, Name: def.Name, Identifier: def.Identifier})
|
||||
|
||||
switch req.IndexerImplementation {
|
||||
case string(domain.IndexerImplementationIRC):
|
||||
|
@ -168,19 +168,19 @@ func (s *service) Process(release *domain.Release) {
|
|||
// TODO dupe checks
|
||||
|
||||
// get filters by priority
|
||||
filters, err := s.filterSvc.FindByIndexerIdentifier(ctx, release.Indexer)
|
||||
filters, err := s.filterSvc.FindByIndexerIdentifier(ctx, release.Indexer.Identifier)
|
||||
if err != nil {
|
||||
s.log.Error().Err(err).Msgf("release.Process: error finding filters for indexer: %s", release.Indexer)
|
||||
s.log.Error().Err(err).Msgf("release.Process: error finding filters for indexer: %s", release.Indexer.Name)
|
||||
return
|
||||
}
|
||||
|
||||
if len(filters) == 0 {
|
||||
s.log.Warn().Msgf("no active filters found for indexer: %s", release.Indexer)
|
||||
s.log.Warn().Msgf("no active filters found for indexer: %s", release.Indexer.Name)
|
||||
return
|
||||
}
|
||||
|
||||
if err := s.processFilters(ctx, filters, release); err != nil {
|
||||
s.log.Error().Err(err).Msgf("release.Process: error processing filters for indexer: %s", release.Indexer)
|
||||
s.log.Error().Err(err).Msgf("release.Process: error processing filters for indexer: %s", release.Indexer.Name)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -196,7 +196,7 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
|
|||
for _, f := range filters {
|
||||
f := f
|
||||
|
||||
l := s.log.With().Str("indexer", release.Indexer).Str("filter", f.Name).Str("release", release.TorrentName).Logger()
|
||||
l := s.log.With().Str("indexer", release.Indexer.Identifier).Str("filter", f.Name).Str("release", release.TorrentName).Logger()
|
||||
|
||||
// save filter on release
|
||||
release.Filter = f
|
||||
|
@ -211,13 +211,13 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
|
|||
}
|
||||
|
||||
if !match {
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s, no match. rejections: %s", release.Indexer, release.FilterName, release.TorrentName, f.RejectionsString(false))
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s, no match. rejections: %s", release.Indexer.Name, release.FilterName, release.TorrentName, f.RejectionsString(false))
|
||||
|
||||
l.Debug().Msgf("filter %s rejected release: %s", f.Name, f.RejectionsString(true))
|
||||
continue
|
||||
}
|
||||
|
||||
l.Info().Msgf("Matched '%s' (%s) for %s", release.TorrentName, release.FilterName, release.Indexer)
|
||||
l.Info().Msgf("Matched '%s' (%s) for %s", release.TorrentName, release.FilterName, release.Indexer.Name)
|
||||
|
||||
// found matching filter, lets find the filter actions and attach
|
||||
active := true
|
||||
|
@ -236,7 +236,7 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
|
|||
// sleep for the delay period specified in the filter before running actions
|
||||
delay := release.Filter.Delay
|
||||
if delay > 0 {
|
||||
l.Debug().Msgf("release.Process: delaying processing of '%s' (%s) for %s by %d seconds as specified in the filter", release.TorrentName, release.FilterName, release.Indexer, delay)
|
||||
l.Debug().Msgf("release.Process: delaying processing of '%s' (%s) for %s by %d seconds as specified in the filter", release.TorrentName, release.FilterName, release.Indexer.Name, delay)
|
||||
time.Sleep(time.Duration(delay) * time.Second)
|
||||
}
|
||||
|
||||
|
@ -258,16 +258,16 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
|
|||
|
||||
// only run enabled actions
|
||||
if !act.Enabled {
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s action '%s' not enabled, skip", release.Indexer, release.FilterName, release.TorrentName, act.Name)
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s action '%s' not enabled, skip", release.Indexer.Name, release.FilterName, release.TorrentName, act.Name)
|
||||
continue
|
||||
}
|
||||
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s , run action: %s", release.Indexer, release.FilterName, release.TorrentName, act.Name)
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s , run action: %s", release.Indexer.Name, release.FilterName, release.TorrentName, act.Name)
|
||||
|
||||
// keep track of action clients to avoid sending the same thing all over again
|
||||
_, tried := triedActionClients[actionClientTypeKey{Type: act.Type, ClientID: act.ClientID}]
|
||||
if tried {
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s action client already tried, skip", release.Indexer, release.FilterName, release.TorrentName)
|
||||
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s action client already tried, skip", release.Indexer.Name, release.FilterName, release.TorrentName)
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue