diff --git a/internal/action/macros.go b/internal/action/macros.go index a3f3f8a..53c26c8 100644 --- a/internal/action/macros.go +++ b/internal/action/macros.go @@ -22,11 +22,12 @@ type Macro struct { Season int Episode int Year int - Month int - Day int - Hour int - Minute int - Second int + CurrentYear int + CurrentMonth int + CurrentDay int + CurrentHour int + CurrentMinute int + CurrentSecond int } func NewMacro(release domain.Release) Macro { @@ -44,12 +45,13 @@ func NewMacro(release domain.Release) Macro { HDR: strings.Join(release.HDR, ", "), Season: release.Season, Episode: release.Episode, - Year: currentTime.Year(), - Month: int(currentTime.Month()), - Day: currentTime.Day(), - Hour: currentTime.Hour(), - Minute: currentTime.Minute(), - Second: currentTime.Second(), + Year: release.Year, + CurrentYear: currentTime.Year(), + CurrentMonth: int(currentTime.Month()), + CurrentDay: currentTime.Day(), + CurrentHour: currentTime.Hour(), + CurrentMinute: currentTime.Minute(), + CurrentSecond: currentTime.Second(), } return ma diff --git a/internal/action/macros_test.go b/internal/action/macros_test.go index 9766596..e22bab4 100644 --- a/internal/action/macros_test.go +++ b/internal/action/macros_test.go @@ -2,10 +2,11 @@ package action import ( "fmt" - "github.com/autobrr/autobrr/internal/domain" - "github.com/stretchr/testify/assert" "testing" "time" + + "github.com/autobrr/autobrr/internal/domain" + "github.com/stretchr/testify/assert" ) func TestMacros_Parse(t *testing.T) { @@ -122,7 +123,7 @@ func TestMacros_Parse(t *testing.T) { TorrentURL: "https://some.site/download/fakeid", Indexer: "mock1", }, - args: args{text: "{{.Indexer}}-{{.Year}}-race"}, + args: args{text: "{{.Indexer}}-{{.CurrentYear}}-race"}, want: fmt.Sprintf("mock1-%v-race", currentTime.Year()), wantErr: false, }, @@ -152,13 +153,27 @@ func TestMacros_Parse(t *testing.T) { want: "movies-2160p-HDR", wantErr: false, }, + { + name: "test_release_year_1", + release: domain.Release{ + TorrentName: "This movie 2021", + TorrentURL: "https://some.site/download/fakeid", + Indexer: "mock1", + Resolution: "2160p", + HDR: []string{"HDR"}, + Year: 2021, + }, + args: args{text: "movies-{{.Year}}"}, + want: "movies-2021", + wantErr: false, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { m := NewMacro(tt.release) got, err := m.Parse(tt.args.text) - assert.Equal(t, currentTime.Year(), m.Year) + assert.Equal(t, currentTime.Year(), m.CurrentYear) if (err != nil) != tt.wantErr { t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantErr)