commit c3c2ad226fdcf022c936add0c82debe549770d35
Author: Yoann Vandoorselaere <[email protected]>
Date: Fri May 22 12:56:55 2009 +0200
Remove code duplication.
========================================
prewikka/view.py | 30 ++++++++++++++----------------
1 files changed, 14 insertions(+), 16 deletions(-)
========================================
diff --git a/prewikka/view.py b/prewikka/view.py
index 89335c2..0f44e2e 100644
--- a/prewikka/view.py
+++ b/prewikka/view.py
@@ -63,12 +63,24 @@ class Parameters(dict):
def optional(self, name, type, default=None, save=False):
self._parameters[name] = { "type": type, "mandatory": False, "default": default, "save": save }
+ def _parseValue(self, name, value):
+ parameter_type = self._parameters[name]["type"]
+ if parameter_type is list and not type(value) is list:
+ value = [ value ]
+
+ try:
+ value = parameter_type(value)
+ except (ValueError, TypeError):
+ raise InvalidParameterValueError(name, value)
+
+ return value
+
def normalize(self, view, user):
do_load = True
for name, value in self.items():
try:
- parameter_type = self._parameters[name]["type"]
+ value = self._parseValue(name, value)
except KeyError:
if self.allow_extra_parameters:
continue
@@ -78,14 +90,6 @@ class Parameters(dict):
if not self._parameters.has_key(name) or self._parameters[name]["mandatory"] is not True:
do_load = False
- if parameter_type is list and not type(value) is list:
- value = [ value ]
-
- try:
- value = parameter_type(value)
- except (ValueError, TypeError):
- raise InvalidParameterValueError(name, value)
-
if self._parameters[name]["save"] and self.has_key("_save"):
user.setConfigValue(view, name, value)
@@ -108,13 +112,7 @@ class Parameters(dict):
if self._parameters[name]["save"] and do_load:
try:
- value = user.getConfigValue(view, name)
-
- parameter_type = self._parameters[name]["type"]
- if parameter_type is list and not type(value) is list:
- value = [ value ]
-
- self[name] = parameter_type(value)
+ self[name]= self._parseValue(name, user.getConfigValue(view, name))
except KeyError:
pass
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.