From c3b66b5c5c6715fc8931a1e17ab10013d8ef6c4f Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Fri, 7 Mar 2014 08:03:27 +0400 Subject: [PATCH] corriger @defaults pour les chaines vides en mode debug, utiliser set_verbosity('--debug') --- pyulib/src/ulib/web/pages.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/pyulib/src/ulib/web/pages.py b/pyulib/src/ulib/web/pages.py index cbc455e..c66637a 100644 --- a/pyulib/src/ulib/web/pages.py +++ b/pyulib/src/ulib/web/pages.py @@ -8,7 +8,7 @@ from os import path from ulib.base.base import isstr, isbool, isnum, isflt, seqof, make_prop from ulib.base.uio import _u, Utf8IO -from ulib.base.output import enote, edebug +from ulib.base.output import set_verbosity, enote, edebug from ulib.base.args import get_args from ulib.base.dates import rfc2822 from ulib.base.functions import apply_args @@ -115,23 +115,28 @@ def defaults(*required, **defaults): Si la valeur par défaut est respectivement une chaine, un booléen, un entier, une valeur flottante, la valeur de la requête est automatiquement convertie et la valeur effective sera toujours respectivement une chaine, un booléen, - un entier, une valeur flottante + un entier, une valeur flottante. + + Si la valeur par défaut est None, la valeur de la requête sera convertie en + None si elle est vide. """ def decorator(method): def wrapper(*args, **kw): self = args[0:1] and args[0] or None if self is not None: - self.defaults = web.input(*required, **defaults) + webinput = self.defaults = web.input(*required, **defaults) def fix(name, format): - value = self.defaults[name] or None - if format is not None: - self.defaults[name] = format.parse(value) + value = webinput.get(name, None) + if format is None and not value: + webinput[name] = None + elif format is not None: + webinput[name] = format.parse(value) for name, value in defaults.items(): if isstr(value): fix(name, unicodeF) elif isbool(value): fix(name, booleanF) elif isnum(value): fix(name, integerF) elif isflt(value): fix(name, floatF) - else: fix(name, None) + elif value is None: fix(name, None) return method(*args, **kw) return wrapper return decorator @@ -340,8 +345,10 @@ class Application(object): est prévue pour être dérivée. """ if web.config.debug: - edebug(u"Configuration des routes: %s" % str(self.webapp.mapping)) - enote(u"Lancement du serveur sur http://%s:%i" % (self.HOST, self.PORT)) + edebug("basedir: %s" % self.basedir) + edebug("templatedir: %s" % self.templatedir) + edebug("Configuration des routes: %s" % str(self.webapp.mapping)) + enote("Lancement du serveur sur http://%s:%i" % (self.HOST, self.PORT)) def new_render(self, templatedir=None): u"""Retourner une nouvelle instance de web.template.render @@ -472,7 +479,9 @@ class Application(object): elif option in ('-s', '--server-socket'): server_socket = value elif option in ('-H', '--host'): self.HOST = value elif option in ('-P', '--port'): self.PORT = int(value) - elif option in ('-D', '--debug'): self.DEBUG = True + elif option in ('-D', '--debug'): + self.DEBUG = True + set_verbosity('--debug') self.args = args self.process_args(args) self.__configure()