Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
Binary file modified fourth_app_broken_up_files/login.pyc
Binary file not shown.
Binary file modified fourth_app_broken_up_files/music.pyc
Binary file not shown.
Binary file modified fourth_app_broken_up_files/remote.pyc
Binary file not shown.
Binary file modified fourth_app_broken_up_files/settings.pyc
Binary file not shown.
Binary file modified fourth_app_broken_up_files/utils.pyc
Binary file not shown.
6 changes: 3 additions & 3 deletions fourth_app_example/fourth_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
app.add_url_rule('/',
view_func=Main.as_view('main'),
methods=["GET"])
app.add_url_rule('/<page>/',
view_func=Main.as_view('main'),
methods=["GET"])
#app.add_url_rule('/<page>/',
# view_func=Main.as_view('main'),
# methods=["GET"])
app.add_url_rule('/login/',
view_func=Login.as_view('login'),
methods=["GET", "POST"])
Expand Down
Binary file modified fourth_app_example/login.pyc
Binary file not shown.
Binary file modified fourth_app_example/main.pyc
Binary file not shown.
Binary file modified fourth_app_example/music.pyc
Binary file not shown.
Binary file modified fourth_app_example/remote.pyc
Binary file not shown.
Binary file modified fourth_app_example/settings.pyc
Binary file not shown.
Binary file modified fourth_app_example/utils.pyc
Binary file not shown.
Binary file added my_app/.DS_Store
Binary file not shown.
8 changes: 8 additions & 0 deletions my_app/about.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import flask, flask.views
import os
import utils

class About(flask.views.MethodView):
@utils.login_required
def get(self):
return flask.render_template('about.html')
Binary file added my_app/about.pyc
Binary file not shown.
8 changes: 8 additions & 0 deletions my_app/contact.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import flask, flask.views
import os
import utils

class Contact(flask.views.MethodView):
@utils.login_required
def get(self):
return flask.render_template('contact.html')
Binary file added my_app/contact.pyc
Binary file not shown.
8 changes: 8 additions & 0 deletions my_app/index.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import flask, flask.views
import os
import utils

class Index(flask.views.MethodView):
@utils.login_required
def get(self):
return flask.render_template('index.html')
Binary file added my_app/index.pyc
Binary file not shown.
24 changes: 24 additions & 0 deletions my_app/login.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import flask, flask.views

users = {'steve':'chloe'}

class Login(flask.views.MethodView):
def get(self):
return flask.render_template('login.html')

def post(self):
if 'logout' in flask.request.form:
flask.session.pop('username', None)
return flask.redirect(flask.url_for('login'))
required = ['username', 'passwd']
for r in required:
if r not in flask.request.form:
flask.flash("Error: {0} is required.".format(r))
return flask.redirect(flask.url_for('login'))
username = flask.request.form['username']
passwd = flask.request.form['passwd']
if username in users and users[username] == passwd:
flask.session['username'] = username
else:
flask.flash("Username doesn't exist or incorrect password")
return flask.redirect(flask.url_for('login'))
Binary file added my_app/login.pyc
Binary file not shown.
8 changes: 8 additions & 0 deletions my_app/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import flask, flask.views, os

class Main(flask.views.MethodView):
def get(self, page="index"):
page += ".html"
if os.path.isfile('templates/' + page):
return flask.render_template(page)
flask.abort(404)
Binary file added my_app/main.pyc
Binary file not shown.
9 changes: 9 additions & 0 deletions my_app/music.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import flask, flask.views
import os
import utils

class Music(flask.views.MethodView):
@utils.login_required
def get(self):
songs = os.listdir('static/music')
return flask.render_template("music.html", songs=songs)
Binary file added my_app/music.pyc
Binary file not shown.
45 changes: 45 additions & 0 deletions my_app/my_app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import flask
import settings

# Views
from main import Main
from login import Login
from remote import Remote
from music import Music
from about import About
from contact import Contact
from index import Index

app = flask.Flask(__name__)
app.secret_key = settings.secret_key

# Routes
login_view_func = Login.as_view('login')
app.add_url_rule('/',
view_func=login_view_func,
methods=["GET", "POST"])
app.add_url_rule('/login/',
view_func=login_view_func,
methods=["GET", "POST"])
app.add_url_rule('/remote/',
view_func=Remote.as_view('remote'),
methods=['GET', 'POST'])
app.add_url_rule('/music/',
view_func=Music.as_view('music'),
methods=['GET'])
app.add_url_rule('/about/',
view_func=About.as_view('about'),
methods=['GET'])
app.add_url_rule('/contact/',
view_func=Contact.as_view('contact'),
methods=['GET'])
app.add_url_rule('/index/',
view_func=Index.as_view('index'),
methods=['GET'])

@app.errorhandler(404)
def page_not_found(error):
return flask.render_template('404.html'), 404

app.debug = True
app.run(port=5007)
14 changes: 14 additions & 0 deletions my_app/remote.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import flask, flask.views
import os
import utils

class Remote(flask.views.MethodView):
@utils.login_required
def get(self):
return flask.render_template('remote.html')

@utils.login_required
def post(self):
result = eval(flask.request.form['expression'])
flask.flash(result)
return flask.redirect(flask.url_for('remote'))
Binary file added my_app/remote.pyc
Binary file not shown.
2 changes: 2 additions & 0 deletions my_app/settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Don't do this!
secret_key = "chloe"
Binary file added my_app/settings.pyc
Binary file not shown.
Binary file added my_app/static/.DS_Store
Binary file not shown.
Binary file added my_app/static/Chloe.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added my_app/static/bootstrap/.DS_Store
Binary file not shown.
Loading