Rename "www" directory to "conservancy"
42
conservancy/__init__.py
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
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 = getattr(settings, 'CONSERVANCY_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
|
|
@ -2,4 +2,4 @@ from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
class AssignmentConfig(AppConfig):
|
class AssignmentConfig(AppConfig):
|
||||||
name = 'www.assignment'
|
name = 'conservancy.assignment'
|
|
@ -2,4 +2,4 @@ from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
class FOSSYConfig(AppConfig):
|
class FOSSYConfig(AppConfig):
|
||||||
name = 'www.fossy'
|
name = 'conservancy.fossy'
|
Before Width: | Height: | Size: 631 B After Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 643 B After Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 689 B After Width: | Height: | Size: 689 B |