Source code for sirepo.util

# -*- coding: utf-8 -*-
u"""Utilities for requests

:copyright: Copyright (c) 2018 RadiaSoft LLC.  All Rights Reserved.
:license: http://www.apache.org/licenses/LICENSE-2.0.html
"""
from __future__ import absolute_import, division, print_function
from pykern.pkdebug import pkdlog
import numconv
import random
import werkzeug.exceptions


[docs]def err(obj, format='', *args, **kwargs): return '{}: '.format(obj) + format.format(*args, **kwargs)
[docs]def raise_bad_request(*args, **kwargs): _raise('BadRequest', *args, **kwargs)
[docs]def raise_forbidden(*args, **kwargs): _raise('Forbidden', *args, **kwargs)
[docs]def raise_not_found(*args, **kwargs): _raise('NotFound', *args, **kwargs)
[docs]def raise_unauthorized(*args, **kwargs): _raise('Unauthorized', *args, **kwargs)
[docs]def random_base62(length=32): """Returns a safe string of sufficient length to be a nonce Args: length (int): how long to make the base62 string [32] Returns: str: random base62 characters """ r = random.SystemRandom() return ''.join(r.choice(numconv.BASE62) for x in range(length))
def _raise(exc, fmt, *args, **kwargs): pkdlog(fmt, *args, **kwargs) raise getattr(werkzeug.exceptions, exc)()