ldap-python-webui/libs/helper.py

47 lines
1.1 KiB
Python
Raw Normal View History

2022-04-16 23:13:00 +02:00
#!/usr/bin/python3
import sqlite3
2022-04-25 13:10:25 +02:00
import re
2022-04-16 23:13:00 +02:00
class Tools():
def __init__(self):
self.username = ''
#check code
def code_is_valid(self, code, db):
con = sqlite3.connect(db)
cur = con.cursor()
codes=[]
for row in cur.execute('SELECT * FROM codes WHERE valid = 1'):
codes.append(row[0])
return(bool(code in codes))
def mark_code_as_used(self, code, db):
con = sqlite3.connect(db)
cur = con.cursor()
cur.execute('''UPDATE codes SET valid=? WHERE code==?''',(0, code))
2022-04-25 13:10:25 +02:00
con.commit()
2022-04-26 06:54:24 +02:00
#form validation
2022-04-25 13:10:25 +02:00
2023-04-04 11:02:56 +02:00
def input_validation(self, e, ws=None):
if ws:
#accepts whitespaces
regex = r'^\w+( \w+)*$'
else:
regex = r'^\w+$'
2022-04-25 13:10:25 +02:00
return(bool(re.fullmatch(regex, e)))
def email_validation(self, e):
regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
return(bool(re.fullmatch(regex, e)))
def pwd_validation(self, e):
regex = r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$'
2023-04-04 11:02:56 +02:00
return(bool(re.fullmatch(regex, e)))
2023-04-07 15:21:44 +02:00
tools = Tools()