dochelpers.py (1213B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\brennivin\dochelpers.py 2 3 4 def pretty_func(func, reprstr): 5 6 class pretty(object): 7 8 def __call__(self, *args, **kwargs): 9 return func(*args, **kwargs) 10 11 def __repr__(self): 12 return reprstr 13 14 __str__ = __repr__ 15 16 return pretty() 17 18 19 def pretty_module_func(func): 20 s = '.'.join([func.__module__, func.__name__]) 21 return pretty_func(func, s) 22 23 24 def pretty_value(value, reprstr): 25 26 class pretty(object): 27 28 def __call__(self): 29 return value 30 31 def __repr__(self): 32 return reprstr 33 34 __str__ = __repr__ 35 36 return pretty() 37 38 39 identity = pretty_func(lambda x: x, 'lambda x: x') 40 41 class _Sentinel(object): 42 43 def __init__(self, s, nonzero): 44 self.s = s 45 self.nonzero = nonzero 46 47 def __repr__(self): 48 return self.s 49 50 __str__ = __repr__ 51 52 def __nonzero__(self): 53 return self.nonzero 54 55 def __bool__(self): 56 return self.nonzero 57 58 59 default = _Sentinel('DEFAULT', True) 60 unsupplied = _Sentinel('DEFAULT', True) 61 ignore = _Sentinel('<IGNORE>', False) 62 63 def named_none(s): 64 return _Sentinel(s, False)