from flask import send_from_directory, redirect, url_for, render_template, request from app.models import Season, Episode, Quote from app import app @app.route("/") def index(): return render_template("home.html", seasons=Season.query.all(), nquotes=len(Quote.query.all()), nepisodes=len(Episode.query.all())) @app.route("/view//") def viewSeason(season): return render_template( "season.html", season=Season.query.filter_by(id=season).first_or_404(), seasons=Season.query.all() ) @app.route("/view///") def viewEpisode(season, episode): e = Episode.query.filter_by(season_id=season, number=episode).first_or_404() if not e.built: print(f"Rebuilding s{season} e{episode}") e.build() return render_template("episode.html", episode=e, seasons=Season.query.all()) @app.route("/rebuild/") def rebuildSeason(season): season = Season.query.filter_by(id=season).first_or_404() season.build(rebuild=True) return redirect(url_for("viewSeason", season=season.id)) @app.route("/redownload/") def redownloadSeason(season): seasonObj = Season.query.filter_by(id=season).first_or_404() seasonObj.download(force=True) return redirect(url_for("viewSeason", season=season)) @app.route("/rebuild///") def rebuildEpisode(season, episode): e = Episode.query.filter_by(season_id=season, number=episode).first_or_404() e.rebuild() return redirect(url_for("viewEpisode", season=season, episode=episode)) @app.route("/redownload///") def redownloadEpisode(season, episode): e = Episode.query.filter_by(season_id=season, number=episode).first_or_404() e.download(force=True) return redirect(url_for("viewEpisode", season=season, episode=episode))