Add advice and finish size filter

This commit is contained in:
2025-11-15 18:48:11 +01:00
parent 08be6a2455
commit a4fdd6e965
5 changed files with 56 additions and 29 deletions

View File

@@ -8,7 +8,6 @@ ALLDEBRID_API_KEY = os.getenv("ALLDEBRID_API_KEY")
NTFY_TOPIC_URL = os.getenv("NTFY_TOPIC_URL")
NTFY_TOKEN = os.getenv("NTFY_TOKEN")
MAX_SIZE_BYTES = 5*1024**3
NB_PAGES = 2
def check_alldebrid_status():
@@ -71,11 +70,11 @@ def search_torrents(query: str, category_id: str | None = None) -> list[dict]:
return results
def filter_and_format_torrents(torrents: list[dict]) -> list[dict]:
def filter_and_format_torrents(torrents: list[dict], max_size: int, season: int | None = None, episode: int | None = None) -> list[dict]:
"""Filtre les torrents trop gros et formate la taille et l'âge."""
filtered = []
for t in torrents:
if t['size'] <= MAX_SIZE_BYTES:
if t['size'] <= max_size*1024**3:
t['size'] = format_size(t['size'])
days, human = calculate_age(t['uploaded_at'])
t['age_days'] = days

View File

@@ -55,12 +55,16 @@ def init_app(app):
def search():
query = request.args.get('query')
category_id = request.args.get('category_id')
max_size = request.args.get('max_size', default=5, type=int)
season = request.args.get('season', type=int) # None si absent
episode = request.args.get('episode', type=int) # None si absent
# 1. Recherche brute
torrents = search_torrents(query, category_id)
# 2. Filtrage et formatage
filtered_results = filter_and_format_torrents(torrents)
filtered_results = filter_and_format_torrents(torrents, max_size, season, episode)
return render_template(
'search_results.html',