Files
Bolt/core/tweaker.py

46 lines
1.5 KiB
Python
Raw Normal View History

2019-01-20 14:54:26 +05:30
from core.config import tokenPattern
2018-12-30 03:07:15 +05:30
import random
import re
2019-04-25 01:29:54 +05:30
2018-12-30 03:07:15 +05:30
def tweaker(data, strategy, index=0, seeds=[None, None]):
2019-04-25 01:29:54 +05:30
digits = seeds[0]
alphabets = seeds[1]
newData = {}
if strategy == 'clear':
for name, value in data.items():
if re.match(tokenPattern, value):
value = ''
newData[name] = value
return newData
elif strategy == 'remove':
for name, value in data.items():
if not re.match(tokenPattern, value):
newData[name] = value
elif strategy == 'break':
for name, value in data.items():
if re.match(tokenPattern, value):
value = value[:index]
for i in index:
value += random.choice(digits + alphabets)
newData[name] = value
elif strategy == 'generate':
for name, value in data.items():
if re.match(tokenPattern, value):
newToken = ''
for char in list(value):
if char in digits:
newToken += random.choice(digits)
elif char in alphabets:
newToken += random.choice(alphabets)
else:
newToken += char
newData[name] = newToken
else:
newData[name] = value
elif strategy == 'replace':
for name, value in data.items():
if re.match(tokenPattern, value):
value
return newData