Source code for benchmarkstt

"""
Package benchmarkstt
"""

from .__meta__ import __author__, __version__
from functools import partial, wraps
from os import getenv


[docs]class DeferredCallback: """Simple helper class to defer the execution of formatting functions until it is needed""" def __init__(self, cb, *args, **kwargs): self._cb = wraps(cb)(partial(cb, *args, **kwargs)) def __str__(self): return self._cb() def __repr__(self): return '<%s:%s>' % (self.__class__.__name__, repr(self._cb()))
[docs]class DeferredList: def __init__(self, cb): self._cb = cb self._list = None @property def list(self): if self._list is None: self._list = self._cb() return self._list def __getitem__(self, item): return self.list[item]
[docs]def make_printable(char): """ Return printable representation of ascii/utf-8 control characters :param char: :return str: """ if not len(char): return '' if len(char) > 1: return ''.join(list(map(make_printable, char))) codepoint = ord(char) if 0x00 <= codepoint <= 0x1f or 0x7f <= codepoint <= 0x9f: return chr(0x2400 | codepoint) return char if char != ' ' else 'ยท'
class _Settings: @property def default_encoding(self): return getenv('DEFAULT_ENCODING', 'UTF-8') settings = _Settings()