def processInputs(request, charsets=None): """ Override Products.Five.browser.decode.processInputs """ if charsets is None: envadapter = IUserPreferredCharsets(request) charsets = envadapter.getPreferredCharsets() or ['utf-8'] for name, value in request.form.items(): if not (isCGI_NAME(name) or name.startswith('HTTP_')): # XXX => really dirty if name=='groups' or name=='users': request.form[name] = value elif isinstance(value, str): request.form[name] = _decode(value, charsets) elif isinstance(value, list): request.form[name] = [_decode(val, charsets) for val in value if isinstance(val, str)] elif isinstance(value, tuple): request.form[name] = tuple([_decode(val, charsets) for val in value if isinstance(val, str)])
def __call__(self): # XXX dirty hack to make the values coming out of here # encoded properly, by default please fix me. envadapter = IUserPreferredCharsets(self.request) charsets = envadapter.getPreferredCharsets() or ['utf-8'] value = self.template() if not isinstance(value, unicode): value = decode._decode(self.template(), charsets) return value
def processInputs(request, charsets=None): if charsets is None: envadapter = decode.IUserPreferredCharsets(request) charsets = envadapter.getPreferredCharsets() or ['utf-8'] for name, value in request.form.items(): if not (name in isCGI_NAMEs or name.startswith('HTTP_')): if isinstance(value, str): request.form[name] = decode._decode(value, charsets) elif isinstance(value, list): request.form[name] = [decode._decode(val, charsets) for val in value if isinstance(val, str)] elif isinstance(value, tuple): request.form[name] = tuple([decode._decode(val, charsets) for val in value if isinstance(val, str)]) # new part elif isinstance( value, FileUpload) and isinstance(value.filename, str): value.filename = decode._decode(value.filename, charsets)
def processInputs(request, charsets=None): if charsets is None: envadapter = decode.IUserPreferredCharsets(request) charsets = envadapter.getPreferredCharsets() or ['utf-8'] for name, value in request.form.items(): if not (name in isCGI_NAMEs or name.startswith('HTTP_')): if isinstance(value, str): request.form[name] = decode._decode(value, charsets) elif isinstance(value, list): request.form[name] = [ decode._decode(val, charsets) for val in value if isinstance(val, str) ] elif isinstance(value, tuple): request.form[name] = tuple([ decode._decode(val, charsets) for val in value if isinstance(val, str) ]) # new part elif isinstance(value, FileUpload) and isinstance( value.filename, str): value.filename = decode._decode(value.filename, charsets)