diff --git a/src/app/main.py b/src/app/main.py index 0d6f48b..815ac6c 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -1,4 +1,4 @@ -from index import app +from views.index import app if __name__ == "__main__": app.run() diff --git a/src/app/model.py b/src/app/model.py deleted file mode 100644 index 27a42cb..0000000 --- a/src/app/model.py +++ /dev/null @@ -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() - diff --git a/src/app/models/database.py b/src/app/models/database.py new file mode 100644 index 0000000..dbca4a2 --- /dev/null +++ b/src/app/models/database.py @@ -0,0 +1,8 @@ +import mysql.connector + +db = mysql.connector.connect( + user='root', + password='root', + host='0.0.0.0', + database='db' +) diff --git a/src/app/models/guestbook.py b/src/app/models/guestbook.py new file mode 100644 index 0000000..076cf98 --- /dev/null +++ b/src/app/models/guestbook.py @@ -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() + + diff --git a/src/app/models/login.py b/src/app/models/login.py new file mode 100644 index 0000000..813519c --- /dev/null +++ b/src/app/models/login.py @@ -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 diff --git a/src/app/models/register.py b/src/app/models/register.py new file mode 100644 index 0000000..c2aab3a --- /dev/null +++ b/src/app/models/register.py @@ -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() diff --git a/src/app/sessions/4a7a69f1d0514a515600940b77084078a78239fd b/src/app/sessions/4a7a69f1d0514a515600940b77084078a78239fd deleted file mode 100644 index 71583e4..0000000 --- a/src/app/sessions/4a7a69f1d0514a515600940b77084078a78239fd +++ /dev/null @@ -1,3 +0,0 @@ -gAN9cQAoWAoAAABzZXNzaW9uX2lkcQFYKAAAADRhN2E2OWYxZDA1MTRhNTE1NjAwOTQwYjc3MDg0 -MDc4YTc4MjM5ZmRxAlgIAAAAdXNlcm5hbWVxA1gBAAAAYXEEWAIAAABpcHEFWAkAAAAxMjcuMC4w -LjFxBnUu diff --git a/src/app/views/admin.py b/src/app/views/admin.py new file mode 100644 index 0000000..c291172 --- /dev/null +++ b/src/app/views/admin.py @@ -0,0 +1,6 @@ +import web + +class Admin: + + def GET(self): + session = web.ctx.session diff --git a/src/app/forms.py b/src/app/views/forms.py similarity index 100% rename from src/app/forms.py rename to src/app/views/forms.py diff --git a/src/app/guestbook.py b/src/app/views/guestbook.py similarity index 66% rename from src/app/guestbook.py rename to src/app/views/guestbook.py index 3f3dd07..69499a2 100644 --- a/src/app/guestbook.py +++ b/src/app/views/guestbook.py @@ -1,18 +1,17 @@ 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 render = web.template.render('templates/') - class Guestbook: # Get guestbook entries def GET(self): - entries = model.get_guestbook_entries() + entries = models.guestbook.get_guestbook_entries() session = web.ctx.session nav = get_nav_bar(session) return render.guestbook(nav, entries, guestbook_form) @@ -22,5 +21,5 @@ class Guestbook: entry = web.data() print(data) print(entry) - model.set_guestbook_entry(data.entry) + models.guestbook.set_guestbook_entry(data.entry) return web.seeother("/guestbook") diff --git a/src/app/index.py b/src/app/views/index.py similarity index 79% rename from src/app/index.py rename to src/app/views/index.py index ffe9e76..6bd0261 100644 --- a/src/app/index.py +++ b/src/app/views/index.py @@ -1,11 +1,10 @@ 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 urls = ( @@ -46,8 +45,3 @@ class Index: def GET(self): nav = get_nav_bar(session) return render.index(nav) - -class Admin: - - def GET(self): - session = web.ctx.session diff --git a/src/app/login.py b/src/app/views/login.py similarity index 76% rename from src/app/login.py rename to src/app/views/login.py index caf925b..243ef3d 100644 --- a/src/app/login.py +++ b/src/app/views/login.py @@ -1,7 +1,7 @@ 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 render = web.template.render('templates/') @@ -12,7 +12,7 @@ class Login(): session = web.ctx.session # Show other registered users if the user is logged in if session.username: - friends = model.get_users() + friends = models.login.get_users() else: friends = [[],[]] nav = get_nav_bar(session) @@ -23,10 +23,10 @@ class Login(): session = web.ctx.session # Validate login credential with database query 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 len(user): - friends = model.get_users() + friends = models.login.get_users() session.username = data.username else: friends = [[],[]] diff --git a/src/app/logout.py b/src/app/views/logout.py similarity index 70% rename from src/app/logout.py rename to src/app/views/logout.py index be65ec9..dc4eb55 100644 --- a/src/app/logout.py +++ b/src/app/views/logout.py @@ -1,13 +1,10 @@ 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 render = web.template.render('templates/') - class Logout: # Kill session diff --git a/src/app/register.py b/src/app/views/register.py similarity index 70% rename from src/app/register.py rename to src/app/views/register.py index fbff5fe..8ad31d6 100644 --- a/src/app/register.py +++ b/src/app/views/register.py @@ -1,7 +1,7 @@ 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 render = web.template.render('templates/') @@ -18,6 +18,6 @@ class Register: # Register new user in database def POST(self): data = web.input() - model.set_user(data.username, data.password) + models.register.set_user(data.username, data.password) raise web.seeother('/') diff --git a/src/app/utils.py b/src/app/views/utils.py similarity index 100% rename from src/app/utils.py rename to src/app/views/utils.py