I'm trying to do a property manager that loads a yaml file and stores all the properties in a db. I'm not sure if this would be the right approach.Any suggestions?# -*- coding: utf-8 -*-Properties getters.Module to obtain the application properties.from ..core import properties, Loggerfrom ..managers.properties import PropertiesManagerdef get_property(name, fn=str):    Gets a single property.    Gets a property from Datastore. If the property does not exist, reloads the properties yaml and    tries to get the property again. Applies the given function to the obtained property or just    executes the function.    Usage:        >>> my_property = get_property('property.name', fn=int)    Note:        The function to be applyied has to return a default value if the property does not exists,        e.g. str built-in function returns an empty string if no parameters are passed as arguments.    Args:        name (str): Name of property to be obtained.        fn (function): Optional function to apply to the obtained property. **Default str**.    Returns:        The obtained property.        property_manager = PropertiesManager(model_id=name)    entity = property_manager.get()    if entity is None:        properties.load_properties()        entity = property_manager.get()        if entity is None:            Logger.warning('Property {name} does not exists.'.format(name=name))    return fn(entity.text) if entity else fn()# ------ ## Domain ## ------ #def domain_name():        Gets the domain name property.    Returns:        The value of the property.        return get_property('domain.name')# ----------- ## Environment ## ----------- #def environment_name():        Gets the enviroment name property.    Returns:        The value of the property.        return get_property('environment.name')# ------ ## Cipher ## ------ #def cipher_cache():        Gets the cipher cache property.    Returns:        The value of the property.        return get_property('cipher.cache', bool)# ----- ## Cache ## ----- #def cache_time_profile_entity():        Gets the cache time profile entity property.    Returns:        The value of the property.        return get_property('cache.time_profile.entity', int)def cache_time_profile_ndb():        Gets the cache time profile ndb property.    Returns:        The value of the property.        return get_property('cache.time_profile.ndb', int)# ---- ## User ## ---- #def user_groups():        Gets the user groups property.    Returns:        The value of the property.        return get_property('user.groups', lambda x='': x.split(','))def user_fellows():        Gets the user fellows property.    Returns:        The value of the property.        return get_property('user.fellows', lambda x='': x.split(','))
Properties Manager
python;python 2.7