corriger @defaults pour les chaines vides
en mode debug, utiliser set_verbosity('--debug')
			
			
This commit is contained in:
		
							parent
							
								
									6652b8ce2d
								
							
						
					
					
						commit
						c3b66b5c5c
					
				@ -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()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user