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):
|
def _convert_pref_type(p, pref_spec):
|
||||||
"""p est une ligne de la bd
|
"""p est une ligne de la bd
|
||||||
{'id': , 'dept_id': , 'name': '', 'value': '', 'formsemestre_id': }
|
{'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:
|
if "type" in pref_spec:
|
||||||
typ = pref_spec["type"]
|
typ = pref_spec["type"]
|
||||||
if typ == "float":
|
if typ == "float":
|
||||||
# special case for float values (where NULL means 0)
|
# special case for float values (where NULL means 0)
|
||||||
if p["value"]:
|
p["value"] = float(p["value"] or 0)
|
||||||
p["value"] = float(p["value"])
|
elif typ == "int":
|
||||||
|
p["value"] = int(p["value"] or 0)
|
||||||
else:
|
else:
|
||||||
p["value"] = 0.0
|
raise ValueError("invalid preference type")
|
||||||
else:
|
|
||||||
func = eval(typ)
|
|
||||||
p["value"] = func(p["value"])
|
|
||||||
if pref_spec.get("input_type", None) == "boolcheckbox":
|
if pref_spec.get("input_type", None) == "boolcheckbox":
|
||||||
# boolcheckbox: la valeur stockée en base est une chaine "0" ou "1"
|
# boolcheckbox: la valeur stockée en base est une chaine "0" ou "1"
|
||||||
# que l'on ressort en True|False
|
# que l'on ressort en True|False
|
||||||
|
Loading…
Reference in New Issue
Block a user