feat(filters): support daily shows (#1462)

* feat(database): Add month, day columns to release table

* feat(database): Add month, day columns to postgres release table

* feat(filters): support daily show format

* feat(filters): check smart episode daily

* fix(tests): rss

* feat(filters): add daily shows elements to form

* enhancement(web): minimize html in MoviesAndTV tab

* feat(filters): smart episode check proper and repack

* feat(filters): smart episode do not allow multiple latest

* feat(filters): smart episode check group with repack

* feat(filters): smart episode allow multiple current releases

---------

Co-authored-by: s0up4200 <soup@r4tio.dev>
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
This commit is contained in:
kenstir 2024-05-15 10:38:10 -04:00 committed by GitHub
parent 2a3dcfbf05
commit 4fceccd611
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 270 additions and 56 deletions

View file

@ -11,7 +11,7 @@ interface Props {
export const TitleSubtitle = ({ title, subtitle, className }: Props) => (
<div className={className}>
<h2 className="text-lg leading-5 capitalize font-bold text-gray-900 dark:text-gray-100">{title}</h2>
<h2 className="text-lg leading-5 font-bold text-gray-900 dark:text-gray-100">{title}</h2>
<p className="mt-0.5 text-sm text-gray-500 dark:text-gray-400">{subtitle}</p>
</div>
);

View file

@ -387,6 +387,8 @@ export const FilterDetails = () => {
use_regex: filter.use_regex || false,
shows: filter.shows,
years: filter.years,
months: filter.months,
days: filter.days,
resolutions: filter.resolutions || [],
sources: filter.sources || [],
codecs: filter.codecs || [],

View file

@ -12,14 +12,14 @@ import * as Components from "./_components";
const SeasonsAndEpisodes = () => (
<Components.Section
title="Seasons and Episodes"
subtitle="Set season and episode match constraints."
title="Seasons, Episodes and Date"
subtitle="Set season, episode, year, months and day match constraints."
>
<Components.Layout>
<TextField
name="seasons"
label="Seasons"
columns={8}
columns={6}
placeholder="eg. 1,3,2-6"
tooltip={
<div>
@ -31,16 +31,52 @@ const SeasonsAndEpisodes = () => (
<TextField
name="episodes"
label="Episodes"
columns={4}
columns={6}
placeholder="eg. 2,4,10-20"
tooltip={
<div>
<p>See docs for information about how to <b>only</b> grab episodes:</p>
<DocsLink href="https://autobrr.com/filters/examples#only-episodes-skip-season-packs" />
<DocsLink href="https://autobrr.com/filters/examples#only-episodes-skip-season-packs"/>
</div>
}
/>
<p className="col-span-12 -mb-1 text-sm font-bold text-gray-800 dark:text-gray-100 tracking-wide">Daily Shows</p>
<TextField
name="years"
label="Years"
columns={4}
placeholder="eg. 2018,2019-2021"
tooltip={
<div>
<p>This field takes a range of years and/or comma separated single years.</p>
<DocsLink href="https://autobrr.com/filters#tvmovies"/>
</div>
}
/>
<TextField
name="months"
label="Months"
columns={4}
placeholder="eg. 4,2-9"
tooltip={
<div>
<p>This field takes a range of years and/or comma separated single months.</p>
<DocsLink href="https://autobrr.com/filters#tvmovies"/>
</div>
}
/>
<TextField
name="days"
label="Days"
columns={4}
placeholder="eg. 1,15-30"
tooltip={
<div>
<p>This field takes a range of years and/or comma separated single days.</p>
<DocsLink href="https://autobrr.com/filters#tvmovies"/>
</div>
}
/>
<div className="col-span-12 sm:col-span-6">
<SwitchGroup
name="smart_episode"

View file

@ -44,6 +44,8 @@ interface Filter {
match_other: string[];
except_other: string[];
years: string;
months: string;
days: string;
artists: string;
albums: string;
match_release_types: string[];