def littleendian(ptype): '''Will convert an pfloat_t to littleendian form''' if not issubclass(ptype, type) or ptype is type: raise error.TypeError(ptype, 'littleendian') res = dict(ptype.__dict__) res['byteorder'] = config.byteorder.littleendian return builtins.type(ptype.__name__, ptype.__bases__, res)
def littleendian(ptype): '''Will convert an pfloat_t to littleendian form''' if not issubclass(ptype, type) or ptype is type: raise error.TypeError(ptype, 'littleendian') d = dict(ptype.__dict__) d['byteorder'] = config.byteorder.littleendian return builtins.type(ptype.__name__, ptype.__bases__, d)
def bigendian(ptype): '''Will convert an pfloat_t to bigendian form''' if not issubclass(ptype, type) or ptype is type: raise error.TypeError(ptype, 'bigendian') d = dict(ptype.__dict__) d['byteorder'] = config.byteorder.bigendian return builtins.type(ptype.__name__, ptype.__bases__, d)
def __bool__(self, option=option, value=value, default=default, section=section): config = read_config() type = builtins.type(value) get_option = option_getter(type) try: return get_option(config, section, option) == value except (NoOptionError, NoSectionError): return default
def f(option=option, default=default, type=type, section=section): config = read_config() if type is None and default is not None: # detect type from default. type = builtins.type(default) get_option = option_getter(type) try: return get_option(config, section, option) except (NoOptionError, NoSectionError): return default
def setbyteorder(endianness): if endianness in (config.byteorder.bigendian,config.byteorder.littleendian): for k,v in globals().iteritems(): if v is not type and isinstance(v,builtins.type) and issubclass(v,type) and getattr(v, 'byteorder', config.defaults.integer.order) != endianness: d = dict(v.__dict__) d['byteorder'] = endianness globals()[k] = builtins.type(v.__name__, v.__bases__, d) # re-instantiate types continue return elif getattr(endianness, '__name__', '').startswith('big'): return setbyteorder(config.byteorder.bigendian) elif getattr(endianness, '__name__', '').startswith('little'): return setbyteorder(config.byteorder.littleendian) raise ValueError("Unknown integer endianness {!r}".format(endianness))
def setbyteorder(endianness): if endianness in [config.byteorder.bigendian, config.byteorder.littleendian]: for name, definition in globals().items(): if definition is not type and isinstance(definition, builtins.type) and issubclass(definition, type) and getattr(definition, 'byteorder', config.defaults.integer.order) != endianness: res = dict(definition.__dict__) res['byteorder'] = endianness globals()[name] = builtins.type(definition.__name__, definition.__bases__, res) # re-instantiate types continue return elif getattr(endianness, '__name__', '').startswith('big'): return setbyteorder(config.byteorder.bigendian) elif getattr(endianness, '__name__', '').startswith('little'): return setbyteorder(config.byteorder.littleendian) raise ValueError("Unknown integer endianness {!r}".format(endianness))
def setbyteorder(endianness): if endianness in (config.byteorder.bigendian, config.byteorder.littleendian): for k, v in globals().iteritems(): if v is not type and isinstance( v, builtins.type) and issubclass(v, type) and getattr( v, 'byteorder', config.defaults.integer.order) != endianness: d = dict(v.__dict__) d['byteorder'] = endianness globals()[k] = builtins.type(v.__name__, v.__bases__, d) # re-instantiate types continue return elif getattr(endianness, '__name__', '').startswith('big'): return setbyteorder(config.byteorder.bigendian) elif getattr(endianness, '__name__', '').startswith('little'): return setbyteorder(config.byteorder.littleendian) raise ValueError("Unknown integer endianness {!r}".format(endianness))
def argval(key, default=None, type=None, smartcast=True, return_exists=False, argv=None): """ alias for get_argval Example: >>> # ENABLE_DOCTEST >>> import utool as ut >>> import sys >>> argv = ['--aids=[1,2,3]'] >>> value = ut.argval('--aids', default=[1, 2], argv=argv) >>> assert isinstance(value, list) >>> value2 = ut.argval('--aids', smartcast=False, argv=argv) >>> assert isinstance(value2, str) >>> value2 = ut.argval('--aids', smartcast=True, argv=argv) >>> assert isinstance(value2, list) """ defaultable_types = (tuple, list, int, float) if type is None and isinstance(default, defaultable_types): type = builtins.type(default) return get_argval(key, type_=type, default=default, return_was_specified=return_exists, smartcast=smartcast, argv=argv)