Exemplo n.º 1
0
 def __getattr__(self, name):
     registry_setting = registry.get(name, None)
     if not registry_setting:
         raise AttributeError("Setting does not exist: %s" % name)
     try:
         setting = self.settings.get(name=name)
         registry_type = registry_setting["type"]
         if registry_type is bool:
             value = setting.value != "False"
         else:
             value = registry_type(setting.value)
     except Setting.DoesNotExist:
         value = registry_setting["default"]
     self.__dict__[name] = value
     return getattr(self, name)
Exemplo n.º 2
0
 def __setattr__(self, name, value):
     registry_setting = registry.get(name, None)
     if not registry_setting:
         self.__dict__[name] = value
         return
     if not registry_setting["editable"]:
         raise AttributeError("Read only setting value: %s" % name)
     self_value = self.__dict__.get(name, registry_setting["default"])
     if value == self_value:
         return
     if value is None:
         self.settings.filter(name=name).delete()
     else:
         try:
             setting = self.settings.get(name=name)
             setting.value = value
             setting.save()
         except Setting.DoesNotExist:
             self.settings.create(name=name, value=value)
     self.__dict__[name] = value