| @@ -1,4 +1,4 @@ | |||||
| from index import app | |||||
| from views.index import app | |||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||
| app.run() | app.run() | ||||
| @@ -1,47 +0,0 @@ | |||||
| import mysql.connector | |||||
| # Access database using mysql connector package | |||||
| db = mysql.connector.connect( | |||||
| user='root', | |||||
| password='root', | |||||
| host='0.0.0.0', | |||||
| database='db' | |||||
| ) | |||||
| def get_users(): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT userid, username from users") | |||||
| cursor.execute(query) | |||||
| users = cursor.fetchall() | |||||
| cursor.close() | |||||
| return users | |||||
| def match_user(username, password): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT userid, username from users where username = \"" + username + | |||||
| "\" and password = \"" + password + "\"") | |||||
| cursor.execute(query) | |||||
| user = cursor.fetchall() | |||||
| return user | |||||
| def set_user(username, password): | |||||
| cursor = db.cursor() | |||||
| query = ("INSERT INTO users VALUES (NULL, \"" + username + | |||||
| "\", \"" + password + "\")") | |||||
| cursor.execute(query) | |||||
| cursor.close() | |||||
| def get_guestbook_entries(): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT entryid, text FROM guestbook") | |||||
| cursor.execute(query) | |||||
| entries = cursor.fetchall() | |||||
| cursor.close() | |||||
| return entries | |||||
| def set_guestbook_entry(entry): | |||||
| cursor = db.cursor() | |||||
| query = ("INSERT INTO guestbook VALUES (NULL, \"" + entry + "\")") | |||||
| cursor.execute(query) | |||||
| cursor.close() | |||||
| @@ -0,0 +1,8 @@ | |||||
| import mysql.connector | |||||
| db = mysql.connector.connect( | |||||
| user='root', | |||||
| password='root', | |||||
| host='0.0.0.0', | |||||
| database='db' | |||||
| ) | |||||
| @@ -0,0 +1,17 @@ | |||||
| from models.database import db | |||||
| def get_guestbook_entries(): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT entryid, text FROM guestbook") | |||||
| cursor.execute(query) | |||||
| entries = cursor.fetchall() | |||||
| cursor.close() | |||||
| return entries | |||||
| def set_guestbook_entry(entry): | |||||
| cursor = db.cursor() | |||||
| query = ("INSERT INTO guestbook VALUES (NULL, \"" + entry + "\")") | |||||
| cursor.execute(query) | |||||
| cursor.close() | |||||
| @@ -0,0 +1,18 @@ | |||||
| from models.database import db | |||||
| def get_users(): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT userid, username from users") | |||||
| cursor.execute(query) | |||||
| users = cursor.fetchall() | |||||
| cursor.close() | |||||
| return users | |||||
| def match_user(username, password): | |||||
| cursor = db.cursor() | |||||
| query = ("SELECT userid, username from users where username = \"" + username + | |||||
| "\" and password = \"" + password + "\"") | |||||
| cursor.execute(query) | |||||
| user = cursor.fetchall() | |||||
| cursor.close() | |||||
| return user | |||||
| @@ -0,0 +1,8 @@ | |||||
| from models.database import db | |||||
| def set_user(username, password): | |||||
| cursor = db.cursor() | |||||
| query = ("INSERT INTO users VALUES (NULL, \"" + username + | |||||
| "\", \"" + password + "\")") | |||||
| cursor.execute(query) | |||||
| cursor.close() | |||||
| @@ -1,3 +0,0 @@ | |||||
| gAN9cQAoWAoAAABzZXNzaW9uX2lkcQFYKAAAADRhN2E2OWYxZDA1MTRhNTE1NjAwOTQwYjc3MDg0 | |||||
| MDc4YTc4MjM5ZmRxAlgIAAAAdXNlcm5hbWVxA1gBAAAAYXEEWAIAAABpcHEFWAkAAAAxMjcuMC4w | |||||
| LjFxBnUu | |||||
| @@ -0,0 +1,6 @@ | |||||
| import web | |||||
| class Admin: | |||||
| def GET(self): | |||||
| session = web.ctx.session | |||||
| @@ -1,18 +1,17 @@ | |||||
| import web | import web | ||||
| from forms import guestbook_form | |||||
| import model | |||||
| from utils import get_nav_bar | |||||
| from views.forms import guestbook_form | |||||
| import models.guestbook | |||||
| from views.utils import get_nav_bar | |||||
| # Get html templates | # Get html templates | ||||
| render = web.template.render('templates/') | render = web.template.render('templates/') | ||||
| class Guestbook: | class Guestbook: | ||||
| # Get guestbook entries | # Get guestbook entries | ||||
| def GET(self): | def GET(self): | ||||
| entries = model.get_guestbook_entries() | |||||
| entries = models.guestbook.get_guestbook_entries() | |||||
| session = web.ctx.session | session = web.ctx.session | ||||
| nav = get_nav_bar(session) | nav = get_nav_bar(session) | ||||
| return render.guestbook(nav, entries, guestbook_form) | return render.guestbook(nav, entries, guestbook_form) | ||||
| @@ -22,5 +21,5 @@ class Guestbook: | |||||
| entry = web.data() | entry = web.data() | ||||
| print(data) | print(data) | ||||
| print(entry) | print(entry) | ||||
| model.set_guestbook_entry(data.entry) | |||||
| models.guestbook.set_guestbook_entry(data.entry) | |||||
| return web.seeother("/guestbook") | return web.seeother("/guestbook") | ||||
| @@ -1,11 +1,10 @@ | |||||
| import web | import web | ||||
| from forms import login_form, register_form, guestbook_form | |||||
| import model | |||||
| from utils import get_nav_bar | |||||
| from guestbook import Guestbook | |||||
| from login import Login | |||||
| from logout import Logout | |||||
| from register import Register | |||||
| from views.utils import get_nav_bar | |||||
| from views.guestbook import Guestbook | |||||
| from views.login import Login | |||||
| from views.logout import Logout | |||||
| from views.register import Register | |||||
| from views.admin import Admin | |||||
| # Define application routes | # Define application routes | ||||
| urls = ( | urls = ( | ||||
| @@ -46,8 +45,3 @@ class Index: | |||||
| def GET(self): | def GET(self): | ||||
| nav = get_nav_bar(session) | nav = get_nav_bar(session) | ||||
| return render.index(nav) | return render.index(nav) | ||||
| class Admin: | |||||
| def GET(self): | |||||
| session = web.ctx.session | |||||
| @@ -1,7 +1,7 @@ | |||||
| import web | import web | ||||
| from forms import login_form | |||||
| import model | |||||
| from utils import get_nav_bar | |||||
| from views.forms import login_form | |||||
| import models.login | |||||
| from views.utils import get_nav_bar | |||||
| # Get html templates | # Get html templates | ||||
| render = web.template.render('templates/') | render = web.template.render('templates/') | ||||
| @@ -12,7 +12,7 @@ class Login(): | |||||
| session = web.ctx.session | session = web.ctx.session | ||||
| # Show other registered users if the user is logged in | # Show other registered users if the user is logged in | ||||
| if session.username: | if session.username: | ||||
| friends = model.get_users() | |||||
| friends = models.login.get_users() | |||||
| else: | else: | ||||
| friends = [[],[]] | friends = [[],[]] | ||||
| nav = get_nav_bar(session) | nav = get_nav_bar(session) | ||||
| @@ -23,10 +23,10 @@ class Login(): | |||||
| session = web.ctx.session | session = web.ctx.session | ||||
| # Validate login credential with database query | # Validate login credential with database query | ||||
| data = web.input() | data = web.input() | ||||
| user = model.match_user(data.username, data.password) | |||||
| user = models.login.match_user(data.username, data.password) | |||||
| # If there is a matching user/password in the database the user is logged in | # If there is a matching user/password in the database the user is logged in | ||||
| if len(user): | if len(user): | ||||
| friends = model.get_users() | |||||
| friends = models.login.get_users() | |||||
| session.username = data.username | session.username = data.username | ||||
| else: | else: | ||||
| friends = [[],[]] | friends = [[],[]] | ||||
| @@ -1,13 +1,10 @@ | |||||
| import web | import web | ||||
| from forms import login_form, register_form, guestbook_form | |||||
| import model | |||||
| from utils import get_nav_bar | |||||
| from views.utils import get_nav_bar | |||||
| # Get html templates | # Get html templates | ||||
| render = web.template.render('templates/') | render = web.template.render('templates/') | ||||
| class Logout: | class Logout: | ||||
| # Kill session | # Kill session | ||||
| @@ -1,7 +1,7 @@ | |||||
| import web | import web | ||||
| from forms import register_form | |||||
| import model | |||||
| from utils import get_nav_bar | |||||
| from views.forms import register_form | |||||
| import models.register | |||||
| from views.utils import get_nav_bar | |||||
| # Get html templates | # Get html templates | ||||
| render = web.template.render('templates/') | render = web.template.render('templates/') | ||||
| @@ -18,6 +18,6 @@ class Register: | |||||
| # Register new user in database | # Register new user in database | ||||
| def POST(self): | def POST(self): | ||||
| data = web.input() | data = web.input() | ||||
| model.set_user(data.username, data.password) | |||||
| models.register.set_user(data.username, data.password) | |||||
| raise web.seeother('/') | raise web.seeother('/') | ||||