Skip to content

Commit 76f677a

Browse files
committed
don't try to fetch tv episodes as frequently if it's been released for a while and has attempted recently
1 parent 25ca2d5 commit 76f677a

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/nefarious/parsers/movie.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ class MovieParser(ParserBase):
1313
regex.compile(r"^(?<title>(?![(\[]).+?)((\W|_))(?:(?<!(19|20)\d{2}.)(German|French|TrueFrench))(.+?)(?=((19|20)\d{2}|$))(?<year>(19|20)\d{2}(?!p|i|\d+|\]|\W\d+))?(\W+|_|$)(?!\\)", regex.I),
1414
),
1515
(
16-
'Special, Despecialized, etc. Edition Movies, e.g: Mission.Impossible.3.Special.Edition.2011',
16+
'Special, Despecialized, etc. Edition Movies, e.g.: Mission.Impossible.3.Special.Edition.2011',
1717
regex.compile(r"^(?<title>(?![(\[]).+?)?(?:(?:[-_\W](?<![)\[!]))*\(?(?<edition>(((Extended.|Ultimate.)?(Director.?s|Collector.?s|Theatrical|Ultimate|Final(?=(.(Cut|Edition|Version)))|Extended|Rogue|Special|Despecialized|\d{2,3}(th)?.Anniversary)(.(Cut|Edition|Version))?(.(Extended|Uncensored|Remastered|Unrated|Uncut|IMAX|Fan.?Edit))?|((Uncensored|Remastered|Unrated|Uncut|IMAX|Fan.?Edit|Edition|Restored|((2|3|4)in1))))))\)?.{1,3}(?<year>(19|20)\d{2}(?!p|i|\d+|\]|\W\d+)))+(\W+|_|$)(?!\\)", regex.I),
1818
),
1919
(
20-
'Normal movie format, e.g: Mission.Impossible.3.2011',
20+
'Normal movie format, e.g.: Mission.Impossible.3.2011',
2121
regex.compile(r"^(?<title>(?![(\[]).+?)?(?:(?:[-_\W](?<![)\[!]))*(?<year>(19|20)\d{2}(?!p|i|(19|20)\d{2}|\]|\W(19|20)\d{2})))+(\W+|_|$)(?!\\)", regex.I),
2222
),
2323
(

src/nefarious/tasks.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,18 @@ def wanted_media_task():
294294

295295
for media_type, data in wanted_media_data.items():
296296
for media in data['query']:
297-
# media has been released (or it's missing it's release date so try anyway) so create a task to try and fetch it
297+
# skip episodes attempts if last attempt was within x days, and we're past release date by x days
298+
if media_type == 'episode':
299+
days_since_last_attempt = (today - media.last_attempt_date).days if media.last_attempt_date else None
300+
days_since_release = abs(today - media.release_date).days if media.release_date else None
301+
is_too_recent_to_check_for_old_episodes = all([
302+
days_since_last_attempt is not None and days_since_last_attempt <= 7,
303+
days_since_release is not None and days_since_release >= 7,
304+
])
305+
if is_too_recent_to_check_for_old_episodes:
306+
logger_background.info(f=f"skipping wanted media {media} since it's been released for a while and attempted recently")
307+
continue
308+
# media has been released (or it's missing its release date so try anyway) so create a task to try and fetch it
298309
if not media.release_date or media.release_date <= today:
299310
logger_background.info('Wanted {type}: {media}'.format(type=media_type, media=media))
300311
# queue task for wanted media

0 commit comments

Comments
 (0)