complete overhaul to better site design with Bulma, renamed some routes

This commit is contained in:
Xevion
2020-03-09 18:01:55 -05:00
parent edd5b49dfe
commit 7a42620fbd
7 changed files with 73 additions and 66 deletions

View File

@@ -103,8 +103,8 @@ class Episode(db.Model):
def download(self, force=False):
"""downloads data"""
print(f'Downloading e{self.number}/s{self.season_id} from {self.link}')
if not self.downloaded or force:
print(f'Downloading e{self.number}/s{self.season_id} from {self.link}')
data = requests.get(self.link).text
open(self.path, "w+", encoding="utf-8").write(data)

View File

@@ -8,14 +8,13 @@ def index():
return render_template("view.html", seasons=Season.query.all())
@app.route("/season/<season>/")
@app.route("/view/<season>/")
def viewSeason(season):
return render_template(
"season.html", season=Season.query.filter_by(id=season).first_or_404()
)
@app.route("/season/<season>/<episode>/")
@app.route("/view/<season>/<episode>/")
def viewEpisode(season, episode):
e = Episode.query.filter_by(season_id=season, number=episode).first_or_404()
if not e.built:
@@ -24,8 +23,14 @@ def viewEpisode(season, episode):
return render_template("episode.html", episode=e)
@app.route("/season/<season>/<episode>/rebuild")
@app.route("/rebuild/<season>/<episode>/")
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/<season>/<episode>/")
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))

View File

@@ -3,14 +3,12 @@
<head>
<title>The Office Quotes{% if title %} - {{ title }}{% endif %}</title>
{% block head %}
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/milligram/1.3.0/milligram.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.8.0/css/bulma.min.css" integrity="sha256-D9M5yrVDqFlla7nlELDaYZIpXfFWDytQtiV+TaH6F1I=" crossorigin="anonymous">
{% endblock head %}
</head>
<body>
{% block body %}
{% endblock body %}
{% block body %}
{% endblock body %}
</body>

View File

@@ -2,41 +2,37 @@
{% block head %}
{{ super() }}
<style>
.card {
background-color: white;
border-radius: 0.25rem;
box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.25);
display: flex;
flex-direction: column;
overflow: hidden;
position: relative;
min-height: 180px;
padding: 2.4rem 2.4rem 1.2rem 2.4rem;
border: solid transparent;
border-bottom-color: transparent;
border-bottom-color: rgb(38, 43, 44);
margin-left: auto;
margin-right: auto;
margin-bottom: 4rem;
}
</style>
.tab {margin-left: 2rem;}
</style>
{% endblock head %}
{% block body %}
{{ super() }}
<div class="container" style="text-align: center; margin-top: 30rem;">
<div class="row">
<div class="column column-25">
<div class="card">
Test
</div>
</div>
<div class="column column-40">
<div class="card">
{% block content %}
{% endblock content %}
</div>
</div>
{# <div class="column column-20"></div>#}
<div class="level" style="margin-top: 3rem; justify-content: center;">
<h1 class="title">The Office Quotes</h1>
<br>
<h6 class="subtitle is-6" style="padding-top: 2rem;">Source for all The Office Quotes</h6>
</div>
<div class="columns is-centered">
<div class="column is-4"></div>
{# Site Directory #}
<div class="column is-2 is-narrow">
<div class="box">
{# List of Seasons/Episodes #}
{% for season in seasons %}
<b><a href="{{ url_for("viewSeason", season=season.id) }}" >Season {{ season.id }}</a></b><br>
{% for episode in season.episodes %}
<a class="tab" href="{{ url_for("viewEpisode", season=season.id, episode=episode.number) }}" > e{{ episode.number }} - "Episode Name"</a><br>
{% endfor %}
{% endfor %}
</div>
</div>
{# Main Body of Content #}
<div class="column is-6">
<div class="box">
{% block content %}
{% endblock content%}
</div>
</div>
<div class="column is-3"></div>
</div>
</div>
{% endblock body %}

View File

@@ -6,22 +6,34 @@
text-align: left;
color: black;
}
.section {
padding: 1rem 1rem 1rem 2rem;
}
</style>
{% endblock head %}
{% block content %}
<a href="{{ url_for('viewSeason', season=episode.season_id) }}">Go to Season {{ episode.season_id }}</a>
<br>
<a href="{{ url_for('rebuildEpisode', season=episode.season_id, episode=episode.number) }}">Rebuild Episode</a>
<br>
<br>
{% for section in episode.sections %}
<div style="padding: 2rem 1rem 1rem 2rem;">
<p class="quote">
{% for quote in section.quotes %}
<span class="quote"><b>{{ quote.speaker }}:</b> {{ quote.text }}</span>
<br>
{% endfor %}
</p>
</div>
{% endfor %}
{{ super() }}section
<div class="field is-grouped" style="justify-content: center;">
<p class="control is-link">
<a class="button" href="{{ url_for('viewSeason', season=episode.season_id) }}">Go to Season {{ episode.season_id }}</a>
</p>
<p class="control is-link">
<a class="button" href="{{ url_for('rebuildEpisode', season=episode.season_id, episode=episode.number) }}">Rebuild Episode</a>
</p>
<p class="control is-link">
<a class="button" href="{{ url_for('redownloadEpisode', season=episode.season_id, episode=episode.number) }}">Redownload Episode</a>
</p>
</div>
{% for section in episode.sections %}
<div class="section">
<p class="quote">
{% for quote in section.quotes %}
<span class="quote"><b>{{ quote.speaker }}:</b> {{ quote.text }}</span>
<br>
{% endfor %}
</p>
</div>
{% endfor %}
{% endblock content %}

View File

@@ -8,8 +8,8 @@
Season {{ season.id }}
<br>
{% for episode in season.episodes %}
<a href="/season/{{ season.id }}/{{ episode.number }}/" >Episode {{ episode.number }}</a>
<br>
<a href="{{ url_for("viewEpisode", season=season.id, episode=episode.number) }}" >Episode {{ episode.number }}</a>
<br>
{% endfor %}
{% endblock content %}

View File

@@ -1,8 +1,4 @@
{% extends 'content.html' %}
{% block content %}
{{ super() }}
{% for season in seasons %}
<a href="/season/{{ season.id }}/" >Season {{ season.id }}</a>
<br>
{% endfor %}
{% endblock content %}
{% endblock content %}