2018-12-30 03:07:15 +05:30
|
|
|
import random
|
|
|
|
|
import re
|
|
|
|
|
|
2019-01-20 14:54:26 +05:30
|
|
|
from core.config import password, email, tokenPattern, strings
|
2018-12-30 03:07:15 +05:30
|
|
|
|
2019-04-25 01:29:54 +05:30
|
|
|
|
2018-12-30 03:07:15 +05:30
|
|
|
def datanize(forms, tolerate=False):
|
|
|
|
|
parsedForms = list(forms.values())
|
|
|
|
|
for oneForm in parsedForms:
|
|
|
|
|
data = {}
|
|
|
|
|
login = False
|
|
|
|
|
protected = False
|
|
|
|
|
action = oneForm['action']
|
|
|
|
|
method = oneForm['method']
|
|
|
|
|
inputs = oneForm['inputs']
|
|
|
|
|
for inp in inputs:
|
|
|
|
|
name = inp['name']
|
|
|
|
|
kind = inp['type']
|
|
|
|
|
value = inp['value']
|
2019-01-20 14:54:26 +05:30
|
|
|
if re.match(tokenPattern, value):
|
2018-12-30 03:07:15 +05:30
|
|
|
protected = True
|
|
|
|
|
if kind == 'password':
|
|
|
|
|
data[name] = password
|
|
|
|
|
login = True
|
|
|
|
|
if kind == 'email':
|
|
|
|
|
data[name] = email
|
|
|
|
|
if kind == 'text':
|
|
|
|
|
data[name] = random.choice(strings)
|
|
|
|
|
else:
|
|
|
|
|
data[name] = value
|
|
|
|
|
if method == 'GET':
|
|
|
|
|
GET = True
|
|
|
|
|
else:
|
|
|
|
|
GET = False
|
|
|
|
|
if protected:
|
|
|
|
|
if not login or tolerate:
|
|
|
|
|
return [GET, action, data]
|
2019-04-25 01:29:54 +05:30
|
|
|
return None
|