[pyar] Consulta sobre Pattern Registry

Leonardo Vidarte lvidarte en gmail.com
Mie Oct 20 16:19:04 ART 2010


Hola lista,
estaba necesitando una clase Registry y
luego de buscar un rato en Google y no encontrar nada
se me ocurrió hacerla de la siguiente forma:

# registry.py
class Registry:
    _registry = {}
    @classmethod
    def set(cls, key, value):
        cls._registry[key] = value
    @classmethod
    def get(cls, key, default=None):
        return cls._registry.get(key, default)
    @classmethod
    def items(cls):
        return cls._registry.items()
    @classmethod
    def keys(cls):
        return cls._registry.keys()
    @classmethod
    def values(cls):
        return cls._registry.values()

El uso sería:

# archivo1.py
from registry import Registry
Registry.set('foo', 1)
Registry.set('bar', 2)

# archivo2.py
from registry import Registry
if 'foo' in Registry.keys():
    print Registry.get('foo')

# o también
print Registry.get('baz', 'No existe')

Esto funciona bien para mis necesidades actuales.
Mi pregunta es qué les parece la implementación.
Uds. cómo la harían?

-- 
// Leo



More information about the pyar mailing list