]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/settings/base.py
Send the ip with dummy actions.
[osqa.git] / forum / settings / base.py
index 5bcf5fc51a6d929c6c82209c15ca2a3b1d22e9a9..f640a7c1f850356895d8be9f1b1ec03cd0b50189 100644 (file)
@@ -66,7 +66,10 @@ class BaseSetting(object):
         self.set_value(self.default)
 
     def _parse(self, value):
         self.set_value(self.default)
 
     def _parse(self, value):
-        return value
+        try:
+            return self.base_type(value)
+        except:
+            return value
 
 
 class Setting(object):
 
 
 class Setting(object):
@@ -79,7 +82,8 @@ class Setting(object):
         if deftype in Setting.emulators:
             emul = Setting.emulators[deftype]
         else:
         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:
             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: