NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)