From 283c4dbcc65eb8fcf52ea2a77b69e60438c8cfda Mon Sep 17 00:00:00 2001 From: Xevion Date: Wed, 22 Jan 2020 01:41:32 -0600 Subject: [PATCH] add more text alignment fixes, create "unbuilt" parameter to track and build episodes as needed --- app/models.py | 4 ++++ app/routes.py | 6 +++++- app/templates/episode.html | 23 +++++++++++++++++------ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/app/models.py b/app/models.py index d0b53f4..b13105d 100644 --- a/app/models.py +++ b/app/models.py @@ -65,6 +65,7 @@ class Episode(db.Model): id = db.Column(db.Integer, primary_key=True) # arbitrary ID, should NOT be relied on to determine episode number or correlating season number = db.Column(db.Integer) # episode number season_id = db.Column(db.Integer, db.ForeignKey('season.id')) # correlating season number + built = db.Column(db.Boolean, default=False) sections = db.relationship('Section', backref='episode', lazy='dynamic') # sections of quotes under this episode def build(self): @@ -97,9 +98,11 @@ class Episode(db.Model): s = Section(episode_id=self.id, deleted=deleted if isDeletedScene else -1, newpeat=isNewpeat) s.build(quotes[1:] if isDeletedScene else quotes) db.session.add(s) + self.built = True db.session.commit() def rebuild(self): + """functions that clears relevant sections from this Episode""" self.clear() self.build() @@ -109,6 +112,7 @@ class Episode(db.Model): print(f'Clearing {len(sections)} Sections of Ep {self.number} Season {self.season_id}') for section in sections: section.clear(commit=False, delete=True) + self.built = False db.session.commit() @staticmethod diff --git a/app/routes.py b/app/routes.py index a3ff73c..189a6d2 100644 --- a/app/routes.py +++ b/app/routes.py @@ -12,7 +12,11 @@ def viewSeason(season): @app.route('/season///') def viewEpisode(season, episode): - return render_template('episode.html', episode=Episode.query.filter_by(season_id=season, number=episode).first_or_404()) + e = Episode.query.filter_by(season_id=season, number=episode).first_or_404() + if not e.built: + print('Rebuilding') + e.build() + return render_template('episode.html', episode=e) @app.route('/season///rebuild') def rebuildEpisode(season, episode): diff --git a/app/templates/episode.html b/app/templates/episode.html index 868c60f..5fb349d 100644 --- a/app/templates/episode.html +++ b/app/templates/episode.html @@ -1,15 +1,26 @@ {% extends 'content.html' %} +{% block head %} +{{ super() }} + +{% endblock head %} {% block content %} -Go to Season {{ episode.season_id }} +Go to Season {{ episode.season_id }}
Rebuild Episode

{% for section in episode.sections %} -{% for quote in section.quotes %} -{{ quote.speaker }}: {{ quote.text }} -
-{% endfor %} -
+
+

+ {% for quote in section.quotes %} + {{ quote.speaker }}: {{ quote.text }} +
+ {% endfor %} +

+
{% endfor %} {% endblock content %} \ No newline at end of file