Add advice and finish size filter
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user