registry.py 236 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
REGISTRY = {}

def register_array_parser(name):
    def _deco(cls):
        REGISTRY[name] = cls
        return cls
    return _deco

def get_array_parser(**fmt_meta):
    cls = REGISTRY[fmt_meta.pop('name')]
    return cls(**fmt_meta)