for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import base64
import logging
import random
from uuid import UUID
from satdigitalinvoice import __version__
logger = logging.getLogger(__name__)
def to_uuid(s):
try:
return UUID(s)
except ValueError:
return None
def random_string():
hash = random.randbytes(32)
res = base64.urlsafe_b64encode(hash).decode()
return res.rstrip("=")
def add_file_handler():
fh = logging.FileHandler(
f'.data/{__version__.__package__}.error.log',
mode='a'
)
fh.setLevel(logging.ERROR)
formatter = logging.Formatter('%(asctime)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)