Changeset 282

Show
Ignore:
Timestamp:
05/11/07 16:08:54 (2 years ago)
Author:
matt
Message:

Fix more widgets that were not decoding form field values to unicode instances.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/formal/widget.py

    r280 r282  
    239239 
    240240    def processInput(self, ctx, key, args): 
    241         pwds = [pwd for pwd in args.get(key, [])] 
     241        charset = util.getPOSTCharset(ctx) 
     242        pwds = [pwd.decode(charset) for pwd in args.get(key, [])] 
    242243        if len(pwds) == 0: 
    243244            pwd = '' 
     
    275276 
    276277    def processInput(self, ctx, key, args): 
    277         value = args.get(key, [''])[0] 
     278        charset = util.getPOSTCharset(ctx) 
     279        value = args.get(key, [''])[0].decode(charset) 
    278280        value = iformal.IStringConvertible(self.original).toType(value) 
    279281        if self.noneOption is not None and \ 
     
    362364 
    363365 
    364     def _valueFromRequestArgs(self, key, args): 
    365         value = args.get(key, [''])[0] 
     366    def _valueFromRequestArgs(self, charset, key, args): 
     367        value = args.get(key, [''])[0].decode(charset) 
    366368        if value == self.otherOption[0]: 
    367             value = args.get(key+'-other', [''])[0] 
     369            value = args.get(key+'-other', [''])[0].decode(charset) 
    368370        return value 
    369371 
    370372    def render(self, ctx, key, args, errors): 
    371373 
     374        charset = util.getPOSTCharset(ctx) 
    372375        converter = iformal.IStringConvertible(self.original) 
    373         if errors: 
    374             value = self._valueFromRequestArgs(key, args) 
     376 
     377        if errors: 
     378            value = self._valueFromRequestArgs(charset, key, args) 
    375379        else: 
    376380            value = converter.fromType(args.get(key)) 
     
    427431 
    428432    def processInput(self, ctx, key, args): 
    429         value = self._valueFromRequestArgs(key, args) 
     433        charset = util.getPOSTCharset(ctx) 
     434        value = self._valueFromRequestArgs(charset, key, args) 
    430435        value = iformal.IStringConvertible(self.original).toType(value) 
    431436        if self.noneOption is not None and value == iformal.IKey(self.noneOption).key(): 
  • trunk/setup.py

    r281 r282  
    33setup( 
    44    name='formal', 
    5     version='0.12.1', 
     5    version='0.13', 
    66    description='HTML forms framework for Nevow', 
    77    author='Matt Goodall',