forked from ScoDoc/ScoDoc
conversion preferences
This commit is contained in:
parent
6a525eb1a1
commit
204ee4a02b
@ -152,19 +152,18 @@ def get_preference(name, formsemestre_id=None):
|
||||
def _convert_pref_type(p, pref_spec):
|
||||
"""p est une ligne de la bd
|
||||
{'id': , 'dept_id': , 'name': '', 'value': '', 'formsemestre_id': }
|
||||
converti la valeur chane en le type désiré spécifié par pref_spec
|
||||
converti la valeur chaine en le type désiré spécifié par pref_spec
|
||||
"""
|
||||
if "type" in pref_spec:
|
||||
typ = pref_spec["type"]
|
||||
if typ == "float":
|
||||
# special case for float values (where NULL means 0)
|
||||
if p["value"]:
|
||||
p["value"] = float(p["value"])
|
||||
p["value"] = float(p["value"] or 0)
|
||||
elif typ == "int":
|
||||
p["value"] = int(p["value"] or 0)
|
||||
else:
|
||||
p["value"] = 0.0
|
||||
else:
|
||||
func = eval(typ)
|
||||
p["value"] = func(p["value"])
|
||||
raise ValueError("invalid preference type")
|
||||
|
||||
if pref_spec.get("input_type", None) == "boolcheckbox":
|
||||
# boolcheckbox: la valeur stockée en base est une chaine "0" ou "1"
|
||||
# que l'on ressort en True|False
|
||||
|
Loading…
Reference in New Issue
Block a user