Setting.sets[set.name].append(self)
+ def __str__(self):
+ return str(self.value)
+
def __unicode__(self):
return unicode(self.value)
self.set_value(self.default)
def _parse(self, value):
- return value
+ if not isinstance(value, self.base_type):
+ try:
+ return self.base_type(value)
+ except:
+ pass
+ return value
class Setting(object):
if deftype in Setting.emulators:
emul = Setting.emulators[deftype]
else:
- emul = type(deftype.__name__ + cls.__name__, (BaseSetting,), {})
+ emul = type(deftype.__name__ + cls.__name__, (BaseSetting,), {'base_type': deftype})
+
fns = [n for n, f in [(p, getattr(deftype, p)) for p in dir(deftype) if not p in dir(cls)] if callable(f)]
for n in fns: