コード例 #1
0
ファイル: __init__.py プロジェクト: bopopescu/FatCatMap-Proto
        try:
            if strict and attr.__module__ != get('__name__'):
                return False
        except AttributeError:
            return False

        return True

    # gotta love python
    classes = filter(check_attr, [get(x) for x in keys])

    registered = {}

    for klass in classes:
        alias = '%s%s%s' % (package, separator, klass.__name__)

        registered[klass] = register_class(klass, alias)

    return registered


# init module here
register_class(ASObject)
register_class_loader(flex_loader)
register_class_loader(blaze_loader)
register_alias_type(TypedObjectClassAlias, TypedObject)
register_alias_type(ErrorAlias, Exception)

register_adapters()
コード例 #2
0
ファイル: __init__.py プロジェクト: wayne-abarquez/vizzuality
        raise ValueError, 'Code %s is already registered' % code

    ERROR_CLASS_MAP[code] = klass

def remove_error_class(klass):
    """
    Removes a class from C{ERROR_CLASS_MAP}.

    @param klass:
    @type klass:

    @raise ValueError: Code is not registered.
    @raise ValueError: Class is not registered.
    @raise TypeError: Invalid type, expected C{class} or C{string}.
    """
    if isinstance(klass, basestring):
        if not klass in ERROR_CLASS_MAP.keys():
            raise ValueError, 'Code %s is not registered' % klass
    elif isinstance(klass, (type, types.ClassType)):
        classes = ERROR_CLASS_MAP.values()
        if not klass in classes:
            raise ValueError, 'Class %s is not registered' % klass

        klass = ERROR_CLASS_MAP.keys()[classes.index(klass)]
    else:
        raise TypeError, "Invalid type, expected class or string"

    del ERROR_CLASS_MAP[klass]

register_adapters()