first commit
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
"""Application Members Models"""
|
||||
import os
|
||||
# bson,
|
||||
from dotenv import load_dotenv
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
import psycopg2
|
||||
from psycopg2.extras import NamedTupleCursor
|
||||
import pandas as pd
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# DATABASE_URL=os.environ.get('DATABASE_URL') or 'mongodb://localhost:27017/myDatabase'
|
||||
# print(DATABASE_URL)
|
||||
# client = MongoClient(DATABASE_URL)
|
||||
# db = client.myDatabase
|
||||
|
||||
dataUrl = os.getenv("DATABASE_URL")
|
||||
db = psycopg2.connect(dataUrl)
|
||||
|
||||
|
||||
class Members:
|
||||
"""User Model"""
|
||||
def __init__(self):
|
||||
return
|
||||
|
||||
|
||||
def get_member_by_uid(self, user_uid):
|
||||
"""Get a user by uid"""
|
||||
#user = db.members.find_one({"uid": user_uid, "active": True})
|
||||
GLOBAL_AVG = "SELECT username,email,account_name,firstname,lastname FROM members WHERE uid::text = '" + user_uid + "'"
|
||||
#print(GLOBAL_AVG)
|
||||
with db:
|
||||
with db.cursor() as cursor:
|
||||
cursor.execute(GLOBAL_AVG)
|
||||
account = cursor.fetchall()
|
||||
#return jsonify(hello="ameye world")
|
||||
# Convert to DataFrame
|
||||
df = pd.DataFrame(account, columns=[desc[0] for desc in db.description])
|
||||
print(df)
|
||||
if not account:
|
||||
return
|
||||
return account
|
||||
|
||||
|
||||
# def get_by_id(self, user_id):
|
||||
# """Get a user by id"""
|
||||
# user = db.users.find_one({"_id": bson.ObjectId(user_id), "active": True})
|
||||
# if not user:
|
||||
# return
|
||||
# user["_id"] = str(user["_id"])
|
||||
# user.pop("password")
|
||||
# return user
|
||||
|
||||
def get_by_username(self, username):
|
||||
"""Get a user by username"""
|
||||
print(db)
|
||||
# sqv = "SELECT * FROM members WHERE id=%s"
|
||||
# x=["1"]
|
||||
sqv = "SELECT * FROM members WHERE username='"+username+"'"
|
||||
with db:
|
||||
with db.cursor(cursor_factory=NamedTupleCursor) as cursor:
|
||||
#with db.cursor() as cursor:
|
||||
cursor.execute(sqv)
|
||||
#cursor.execute(sqv, x)
|
||||
member = cursor.fetchall()
|
||||
|
||||
if not member:
|
||||
return
|
||||
#member["_id"] = member[0]
|
||||
#str(member[0])
|
||||
return member[0]
|
||||
#return user
|
||||
|
||||
def encrypt_password(self, password):
|
||||
"""Encrypt password"""
|
||||
return generate_password_hash(password)
|
||||
|
||||
def login(self, username, password):
|
||||
"""Login a user"""
|
||||
member = self.get_by_username(username)
|
||||
# print('yyyyyyyyyyy---mmmmmm')
|
||||
# print( member )
|
||||
# print('yyyyyyyyyyy---xxxxxxxxx')
|
||||
|
||||
# for column in member:
|
||||
# print(f"{column}")
|
||||
|
||||
# print( member[3] )
|
||||
# print(self.encrypt_password(password))
|
||||
|
||||
if not member or not check_password_hash(member[3], password):
|
||||
return
|
||||
#member.pop(3)
|
||||
#member[3]=''
|
||||
return member
|
||||
Reference in New Issue
Block a user