Partial integration of database.
This commit is contained in:
parent
344ad4e47b
commit
1ae10296fc
3 changed files with 42 additions and 5 deletions
|
@ -1,7 +1,9 @@
|
||||||
try:
|
try:
|
||||||
from classUwuCounter import UwuCounter
|
from classUwuCounter import UwuCounter
|
||||||
|
from databaseMethods import create_user
|
||||||
except:
|
except:
|
||||||
from .classUwuCounter import UwuCounter
|
from .classUwuCounter import UwuCounter
|
||||||
|
from .databaseMethods import create_user
|
||||||
from flask import Flask, Response
|
from flask import Flask, Response
|
||||||
from flask_login import LoginManager, UserMixin, login_required
|
from flask_login import LoginManager, UserMixin, login_required
|
||||||
|
|
||||||
|
@ -16,6 +18,7 @@ class User(UserMixin):
|
||||||
self.id = username
|
self.id = username
|
||||||
self.password = password
|
self.password = password
|
||||||
self.count = UwuCounter(initialCount)
|
self.count = UwuCounter(initialCount)
|
||||||
|
create_user(0, username, password, 0)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get(cls, id):
|
def get(cls, id):
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Boolean
|
from sqlalchemy import create_engine, insert, update, select, MetaData, Table, Column, Integer, String, Boolean
|
||||||
from os import environ
|
from os import environ
|
||||||
|
|
||||||
pg_pass_file = open(environ['POSTGRES_PASSWORD_FILE'])
|
pg_pass_file = open(environ['POSTGRES_PASSWORD_FILE'])
|
||||||
pg_pass = pg_pass_file.readline().strip('\n')
|
pg_pass = pg_pass_file.readline().strip('\n')
|
||||||
engine = create_engine(
|
engine = create_engine(
|
||||||
f"postgresql+psycopg2://{environ['POSTGRES_USER']}:{pg_pass}@{environ['POSTGRES_HOST']}:{environ['POSTGRES_PORT']}/{environ['POSTGRES_DB']}")
|
f"postgresql+psycopg2://{environ['POSTGRES_USER']}:{pg_pass}@{environ['POSTGRES_HOST']}:{environ['POSTGRES_PORT']}/{environ['POSTGRES_DB']}")
|
||||||
|
conn = engine.connect()
|
||||||
|
md = MetaData()
|
||||||
|
|
||||||
|
|
||||||
def initialize_database():
|
def initialize_database():
|
||||||
conn = engine.connect()
|
|
||||||
md = MetaData()
|
|
||||||
users = Table('users', md,
|
users = Table('users', md,
|
||||||
Column('id', Integer()),
|
Column('id', Integer()),
|
||||||
Column('name', String(255)),
|
Column('name', String(255)),
|
||||||
|
@ -19,3 +19,33 @@ def initialize_database():
|
||||||
md.create_all(engine)
|
md.create_all(engine)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'{e}')
|
print(f'{e}')
|
||||||
|
|
||||||
|
|
||||||
|
def create_user(idn, name, password, count):
|
||||||
|
users = Table('users', md, autoload=True, autoload_with=engine)
|
||||||
|
query = insert(users)
|
||||||
|
values = [{
|
||||||
|
'id': idn,
|
||||||
|
'name': name,
|
||||||
|
'password': password,
|
||||||
|
'count': count
|
||||||
|
}]
|
||||||
|
output = conn.execute(query, values)
|
||||||
|
|
||||||
|
|
||||||
|
def get_table():
|
||||||
|
users = Table('users', md, autoload=True, autoload_with=engine)
|
||||||
|
return users.columns.keys()
|
||||||
|
|
||||||
|
|
||||||
|
def get_count(user):
|
||||||
|
users = Table('users', md, autoload=True, autoload_with=engine)
|
||||||
|
query = select([users.columns.count]).where(users.columns.name == user)
|
||||||
|
output = conn.execute(query)
|
||||||
|
return output.fetchone()[0]
|
||||||
|
|
||||||
|
|
||||||
|
def update_count(user, count):
|
||||||
|
users = Table('users', md, autoload=True, autoload_with=engine)
|
||||||
|
query = update(users).values(count=count).where(users.columns.name == user)
|
||||||
|
return conn.execute(query)
|
||||||
|
|
|
@ -2,10 +2,12 @@ try:
|
||||||
from .lib.helpers import get_static_paths, get_content_text
|
from .lib.helpers import get_static_paths, get_content_text
|
||||||
from .lib.classUser import User
|
from .lib.classUser import User
|
||||||
from .lib.classUwuCounter import UwuCounter
|
from .lib.classUwuCounter import UwuCounter
|
||||||
|
from .lib.databaseMethods import get_table, get_count, update_count
|
||||||
except:
|
except:
|
||||||
from lib.classUser import User
|
from lib.classUser import User
|
||||||
from lib.helpers import get_static_paths, get_content_text
|
from lib.helpers import get_static_paths, get_content_text
|
||||||
from lib.classUwuCounter import UwuCounter
|
from lib.classUwuCounter import UwuCounter
|
||||||
|
from lib.databaseMethods import get_table, get_count, update_count
|
||||||
from . import app
|
from . import app
|
||||||
from flask import Flask, render_template, redirect, url_for, request, flash
|
from flask import Flask, render_template, redirect, url_for, request, flash
|
||||||
from flask_login import LoginManager, UserMixin, login_required, login_user, current_user, logout_user
|
from flask_login import LoginManager, UserMixin, login_required, login_user, current_user, logout_user
|
||||||
|
@ -44,7 +46,9 @@ def get_curval(username):
|
||||||
error = ''
|
error = ''
|
||||||
if(request.method == 'GET'):
|
if(request.method == 'GET'):
|
||||||
try:
|
try:
|
||||||
return f'{User.user_database[username][2].curval}'
|
new_count = f'{User.user_database[username][2].curval}'
|
||||||
|
update_count(username, new_count)
|
||||||
|
return new_count
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error = f'{e}'
|
error = f'{e}'
|
||||||
return f'ERROR: {error}'
|
return f'ERROR: {error}'
|
||||||
|
@ -55,7 +59,7 @@ def user_page(username):
|
||||||
error = ''
|
error = ''
|
||||||
if(request.method == 'GET'):
|
if(request.method == 'GET'):
|
||||||
if(username in User.user_database.keys()):
|
if(username in User.user_database.keys()):
|
||||||
return render_template('user/index.html', this_user=username, user_curval=str(User.user_database[username][2].curval), static_paths=get_static_paths(), content_text=get_content_text())
|
return render_template('user/index.html', this_user=username, user_curval=str(get_count(username)), static_paths=get_static_paths(), content_text=get_content_text())
|
||||||
else:
|
else:
|
||||||
error = 'User doesn\'t exist.'
|
error = 'User doesn\'t exist.'
|
||||||
elif(request.method == 'POST'):
|
elif(request.method == 'POST'):
|
||||||
|
|
Reference in a new issue