Files
@ 5479785cc100
Branch filter:
Location: website/conservancy/__init__.py - annotation
5479785cc100
1.2 KiB
text/x-python
Add default line-height to <li> elements
They currently look too tight compared with paragraph text.
They currently look too tight compared with paragraph text.
ce6be591bde2 ce6be591bde2 ce6be591bde2 ce6be591bde2 d0464e870c1a 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
class ParameterValidator:
def __init__(self, given_hash_or_params, params_hash_key=None):
from django.conf import settings
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
|