Source code for cup.flag

#!/usr/bin/env python
# -*- coding: utf-8 -*
# Copyright: [CUP] - See LICENSE for details.
# Authors: Guannan Ma (@mythmgn),
    TypeMan and FlagMan is for someone who looks up value by key and
    the reverse (key by value)

__all__ = ['BaseMan', 'TypeMan', 'FlagMan']

[docs]class BaseMan(object): """ for netmsg types """ def __init__(self): self._type2number = {} self._number2type = {}
[docs] def register_types(self, kvs): """ register types """ for key_value in kvs.items(): self._type2number[key_value[0]] = key_value[1] self._number2type[str(key_value[1])] = key_value[0]
[docs] def getkey_bynumber(self, number): """ get type by number """ return self._number2type[str(number)]
[docs] def getnumber_bykey(self, key): """ get number by type """ return self._type2number[key]
[docs] def get_key_list(self): """return key list""" return self._type2number.keys()
[docs]class TypeMan(BaseMan): """ msg flag class inherited from cup.flag.BaseMan """
[docs]class FlagMan(BaseMan): """ msg flag class inherited from cup.flag.BaseMan inherited from cup.flag.BaseMan """
# vi:set tw=0 ts=4 sw=4 nowrap fdm=indent