Files
@ 456d1c163077
Branch filter:
Location: website/conservancy/__init__.py - annotation
456d1c163077
1.2 KiB
text/x-python
Remove outdated copy of Apache config
This isn't being deployed from the repository and is a couple of servers out of date.
This isn't being deployed from the repository and is a couple of servers out of date.
ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 813446c568bd ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 | import hashlib
from django.conf import settings
class ParameterValidator:
def __init__(self, given_hash_or_params, params_hash_key=None):
if params_hash_key is None:
self.given_hash = given_hash_or_params
else:
self.given_hash = given_hash_or_params.get(params_hash_key)
seed = settings.SECRET_KEY.encode('utf-8')
self.hasher = hashlib.sha256(seed)
if isinstance(self.given_hash, str):
self.hash_type = type(self.given_hash)
else:
self.hash_type = type(self.hasher.hexdigest())
self.valid = None
if not (self.given_hash and seed):
self.fail()
def __enter__(self):
self.valid = self.valid and None
return self
def __exit__(self, exc_type, exc_value, exc_tb):
if exc_type is None:
self.check()
else:
self.fail()
def validate(self, data):
self.valid = self.valid and None
self.hasher.update(data)
def check(self):
if self.valid or (self.valid is None):
self.valid = self.hash_type(self.hasher.hexdigest()) == self.given_hash
return self.valid
def fail(self):
self.valid = False
|