Skip to content

Commit f056278

Browse files
Add series and list series (on home page)
1 parent 0c29f93 commit f056278

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

tvseries/core.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
1-
from flask import Flask, render_template
1+
from flask import Flask, render_template, request, redirect
22

33
app = Flask(__name__)
4+
series = []
45

56

67
@app.route('/')
78
@app.route('/<name>')
89
def home(name=None):
9-
return render_template('home.html', name=name)
10+
return render_template('home.html', name=name, series=series)
11+
12+
13+
@app.route('/add', methods=['GET', 'POST'])
14+
def add():
15+
if request.method == 'POST':
16+
serie_name = request.form.to_dict().get('serie-name')
17+
series.append(serie_name)
18+
return redirect('/')
19+
20+
return render_template('add.html')

tvseries/templates/add.html

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{% extends 'base.html' %}
2+
{% block content %}
3+
<form action="" method="post" id="form">
4+
<div class="panel panel-default form">
5+
<div class="panel-heading">Adicionar série de TV</div>
6+
<div class="panel-body">
7+
<div class="row">
8+
<div class="col-md-6">
9+
<div class="form-group">
10+
<label>Nome:</label>
11+
<input type="text" name="serie-name" id="id_serie-name">
12+
</div>
13+
</div>
14+
</div>
15+
</div>
16+
</div>
17+
<button type="submit" class="btn btn-primary">Salvar</button>
18+
</form>
19+
{% endblock %}

tvseries/templates/home.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,19 @@
44
<h1>Hello {% if name %}{{name}}{% else %}world{% endif %}!</h1>
55
<p>This is a simple page :D</p>
66
</div>
7+
8+
<div class="panel panel-default">
9+
<div class="panel-heading"><a href="{{ url_for('add') }}">Inserir séries</a></div>
10+
</div>
11+
12+
{% if series %}
13+
<div class="panel panel-default">
14+
<div class="panel-heading">Minhas series:</div>
15+
<ul class="list-group">
16+
{% for serie in series %}
17+
<li class="list-group-item">{{ serie }}</li>
18+
{% endfor %}
19+
</ul>
20+
</div>
21+
{% endif %}
722
{% endblock %}

tvseries/tests.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,15 @@ def test_get_name(self):
1818
response = self.client.get("/Rafael")
1919
assert '<h1>Hello Rafael!</h1>' in response.data.decode('utf-8')
2020
assert response.status_code == 200
21+
22+
def test_get_add(self):
23+
response = self.client.get("/add")
24+
assert ('<input type="text" name="serie-name" id="id_serie-name">' in
25+
response.data.decode('utf-8'))
26+
assert response.status_code == 200
27+
28+
def test_post_add(self):
29+
response = self.client.post("/add", data={"serie-name": "Teste"})
30+
from tvseries.core import series
31+
assert series == ['Teste']
32+
assert response.status_code == 302

0 commit comments

Comments
 (0)