finish download/build by Season buttons and methods, new episode boxes

This commit is contained in:
Xevion
2020-03-09 22:57:32 -05:00
parent e951d55d22
commit a7130ddf56
3 changed files with 21 additions and 15 deletions

View File

@@ -43,11 +43,16 @@ class Season(db.Model):
db.session.commit() db.session.commit()
ep.build() ep.build()
else: else:
print(f"Rebuilding Season {self.id}, Episode {episode}")
if rebuild: if rebuild:
print(f"Rebuilding Season {self.id}, Episode {episode}")
ep.build() ep.build()
pass pass
def download(self, force=False):
episodes = Episode.query.filter_by(season_id=self.id).all()
for ep in episodes:
ep.build(force=force)
@staticmethod @staticmethod
def create_all(build=True): def create_all(build=True):
"""creates new Season objects and runs build() on them""" """creates new Season objects and runs build() on them"""
@@ -65,9 +70,6 @@ class Season(db.Model):
for season in Season.query.all(): for season in Season.query.all():
season.build(rebuild=True) season.build(rebuild=True)
@staticmethod
@property @property
def episodes(self): def episodes(self):
"""returns a List of Episodes under this Season""" """returns a List of Episodes under this Season"""

View File

@@ -23,16 +23,16 @@ def viewEpisode(season, episode):
return render_template("episode.html", episode=e, seasons=Season.query.all()) return render_template("episode.html", episode=e, seasons=Season.query.all())
@app.route("/redownload/<season>") @app.route("/rebuild/<season>")
def rebuildSeason(season): def rebuildSeason(season):
season = Season.query.filter_by(id=season).first_or_404() season = Season.query.filter_by(id=season).first_or_404()
season.rebuild() season.build(rebuild=True)
return redirect(url_for("viewSeason", season=season.id)) return redirect(url_for("viewSeason", season=season.id))
@app.route("/redownload/<season>") @app.route("/redownload/<season>")
def rebuildSeason(season): def redownloadSeason(season):
seasonObj = Season.query.filter_by(id=season).first_or_404() seasonObj = Season.query.filter_by(id=season).first_or_404()
seasonObj.redownload_all() seasonObj.download(force=True)
return redirect(url_for("viewSeason", season=season)) return redirect(url_for("viewSeason", season=season))
@app.route("/rebuild/<season>/<episode>/") @app.route("/rebuild/<season>/<episode>/")

View File

@@ -1,15 +1,19 @@
{% extends 'content.html' %} {% extends 'content.html' %}
{% block content %} {% block content %}
{{ super() }} {{ super() }}
<div class="field is-grouped" style="justify-content: center;">
<a href="{{ url_for('index') }}" >See all Seasons</a> <p class="control is-link">
<br><br> <a class="button" href="{{ url_for('rebuildSeason', season=season.id) }}">Rebuild Season</a>
</p>
Season {{ season.id }} <p class="control is-link">
<a class="button" href="{{ url_for('redownloadSeason', season=season.id) }}">Redownload Season</a>
</p>
</div>
<br> <br>
{% for episode in season.episodes %} {% for episode in season.episodes %}
<a href="{{ url_for("viewEpisode", season=season.id, episode=episode.number) }}" >Episode {{ episode.number }}</a> <div class="box">
<br> <h1 class="title is-5"><a href="{{ url_for("viewEpisode", season=season.id, episode=episode.number) }}" >Episode {{ episode.number }}</a></h1>
</div>
{% endfor %} {% endfor %}
{% endblock content %} {% endblock content %}