forked from beba/foerderbarometer
43 lines
949 B
Python
43 lines
949 B
Python
import os
|
|
|
|
from .confirmation import TRUTHY
|
|
|
|
|
|
def env(key, default=None, parser=None):
|
|
value = os.environ.get(key)
|
|
|
|
if value is None:
|
|
return default
|
|
|
|
if parser is None:
|
|
if default is None:
|
|
return value
|
|
else:
|
|
parser = type(default)
|
|
|
|
if parser is bool:
|
|
return truthy(value, default)
|
|
|
|
return parser(value)
|
|
|
|
|
|
def truthy(value, default=False):
|
|
return TRUTHY.get(value, default)
|
|
|
|
|
|
def password_validators(*validators):
|
|
return list(_parse_password_validators(validators))
|
|
|
|
|
|
def _parse_password_validators(validators):
|
|
for validator in validators:
|
|
if isinstance(validator, (tuple, list)):
|
|
validator, options = validator
|
|
else:
|
|
validator, options = validator, {}
|
|
|
|
if '.' not in validator:
|
|
validator = 'django.contrib.auth.password_validation.%s' % validator
|
|
|
|
yield dict(NAME=validator, OPTIONS=options)
|