mirror of
https://github.com/Xevion/the-office.git
synced 2025-12-15 04:13:33 -06:00
complete overhaul to better site design with Bulma, renamed some routes
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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))
|
||||
@@ -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>
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
Reference in New Issue
Block a user