示例#1
0
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)
示例#2
0
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)
示例#3
0
文件: pfloat.py 项目: mmg1/syringe-1
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)
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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
示例#7
0
 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
示例#8
0
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))
示例#9
0
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))
示例#10
0
文件: pfloat.py 项目: mmg1/syringe-1
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))
示例#11
0
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)