Diez B. Roggisch wrote:
Am 11.03.2011 um 13:11 schrieb jose soares:
Diez B. Roggisch wrote:
Am 11.03.2011 um 12:33 schrieb jose soares:
Diez B. Roggisch wrote:
Am 11.03.2011 um 09:27 schrieb jose soares:
Hi all,
I have this error raised by kid in Turbogears 1.1.1 :
...
"/home/admin/.VE-SICER2.x-x86_64-19.04.2010/lib/python2.6/site-packages/kid-0.9.6-py2.6.egg/kid/template_util.py",
line 146, in make_attrib
v = generate_attrib(v, encoding)
File
"/home/admin/.VE-SICER2.x-x86_64-19.04.2010/lib/python2.6/site-packages/kid-0.9.6-py2.6.egg/kid/template_util.py",
line 178, in generate_attrib
item = generate_attrib(item, encoding)
File
"/home/admin/.VE-SICER2.x-x86_64-19.04.2010/lib/python2.6/site-packages/kid-0.9.6-py2.6.egg/kid/template_util.py",
line 161, in generate_attrib
return to_unicode(attrib, encoding)
File
"/home/admin/.VE-SICER2.x-x86_64-19.04.2010/lib/python2.6/site-packages/kid-0.9.6-py2.6.egg/kid/parser.py",
line 206, in to_unicode
return unicode(value, encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in
position 19: ordinal not in range(128)
Error location in template file
'/home/admin/trunk/BASE/view/templates/controlli/scheda_ua.kid'
on line 34 between columns 50 and 88:
... </h2> ${form.display(**form_params)} </div>
value = 'Attività ' and encoding = 'ascii'
I would like to assign 'utf-8' to encoding param but I don't know
how to change it.
in my kid template I have this line: (form_params is a dictionary
which contains the unicode string 'attivittà ' )
I doubt that. The problem is that something tries to *decode* a
byte-string to get a unicode-object. So I presume you have a
(possibly UTF-8-encoded) *bytestring* with the value 'attivittà '.
What does a repr(form_params["the_key"]) tell you?
Diez
Here the repr output, Diez:
(Pdb) repr(form_params['options']['rischi'])
"[{'scheda_valore': {'select': [['', ''], [u'Elevata', u'Elevata'],
[u'Discreta', u'Discreta'], [u'Scarsa', u'Scarsa'],
[u'Insufficiente', u'Insufficiente']]}}, {'scheda_valore':
{'select': [['', ''], [u'Completo', u'Completo'], [u'Adeguato',
u'Adeguato'], [u'Da integrare', u'Da integrare'], [u'Inadegato',
u'Inadegato']]}}, {'scheda_valore': {'select': [['', ''],
[u'Elevata', u'Elevata'], [u'Discreta', u'Discreta'], [u'Scarsa',
u'Scarsa'], [u'Insufficiente', u'Insufficiente']]}},
{'scheda_valore': {'select': [['', ''], [u'buone', u'buone'],
[u'discrete', u'discrete'], [u'scarse', u'scarse'],
[u'insufficienti', u'insufficienti']]}}, {'scheda_valore':
{'select': [['', ''], [u'Nuova costruzione', u'Nuova costruzione'],
[u'Recente ristrutturazione', u'Recente ristrutturazione'],
[u'Abbastanza recente', u'Abbastanza recente'], [u'Datate',
u'Datate']]}}, {'scheda_valore': {'select': [['', ''], [u'Impianto
familiare', u'Impianto familiare'], [u'Impianto piccolo',
u'Impianto piccolo'], [u'Impianto medio', u'Impianto medio'],
[u'Impianto industriale', u'Impianto industriale']]}},
{'scheda_valore': {'select': [['', ''], [u'Artigianale',
u'Artigianale'], [u'Industriale Medio', u'Industriale Medio'],
[u'Industriale Grande', u'Industriale Grande'], [u'stabilimento con
pi\\xf9 riconoscimenti 1774', u'stabilimento con pi\\xf9
riconoscimenti 1774']]}}, {'scheda_valore': {'select': [['', ''],
[u'Applicato e adeguato', u'Applicato e adeguato'], [u'Carenze
minori', u'Carenze minori'], [u'Carenze maggiori', u'Carenze
maggiori'], [u'Inadeguato non applicato', u'Inadeguato non
applicato']]}}, {'scheda_valore': {'select': [['', ''], [u'Non
significative o formali', u'Non significative o formali'], [u'Non
significative o formali ripetute', u'Non significative o formali
ripetute'], [u'Sostanziali o gravi, isolate e risolte',
u'Sostanziali o gravi, isolate e risolte'], [u'Sostanziali o gravi,
ripetute o non risolte', u'Sostanziali o gravi, ripetute o non
risolte']]}}, {'scheda_valore': {'select': [['', ''], [u'Elevata',
u'Elevata'], [u'Discreta', u'Discreta'], [u'Scarsa', u'Scarsa'],
[u'Insufficiente', u'Insufficiente']]}}]"
as you see a couple of elements of the list contain:
[u'stabilimento con pi\\xf9 riconoscimenti 1774', u'stabilimento
con pi\\xf9 riconoscimenti 1774']
Yep, that looks good. So to remove another variable from the
equation - what happens if you don't render the widget/form, but
instead fill in the value in question directly? Only the final
unicode-string! Not the whole dict. If that works, the widget is the
problem. So we will need the deklaration of it, I guess.
Diez
Yes, Diez, If I pass only the single string it works.
Well, then, as I said - what's your form widget look like? In code, I
mean?
Diez
do you mean that:
widget.TableForm(
template='sicer.BASE.view.widgets.templates.TableForm',
fields = [ w.HiddenField(name='id_ua'),
w.HiddenField(name='tabbers'),
w.HiddenField(name='tipo'),
RepeatingFieldTable(
name='rischi',
label='',
fields=[
w.HiddenField(name='scheda_id'),
w.HiddenField(name='scheda_cod_caratteristica_rischio'),
w.HiddenField(name='caratteristica_rischio_tipo'),
w.Label(label=_('gruppo'),name='rischio_descrizione_gruppo',
validator=SferaUnicodeString),
w.HiddenField(name='rischio_descrizione_gruppo'),
w.Label(label=_('descrizione'),name='rischio_descrizione',
validator=SferaUnicodeString),
w.HiddenField(name='rischio_descrizione'),
DynamicTextSelectField(name='scheda_valore',
label=_('valore'),
text_params=dict(attrs=dict(onchange="row_change(this)")),
select_params=dict(attrs=dict(onchange="row_change(this)")) ),
AjaxSingleSelectField(name='scheda_cod_unita_di_misura',
label=_('unita misura'),
url='/get_functions/get_unita_di_misura',
validator=SferaUnicodeString,
attrs=dict(onchange="row_change(this)")),
w.Label(name='data_modifica',
label=_('data modifica'),
validator=SferaUnicodeString ),
w.HiddenField(name='data_modifica'),
FastDatePicker(name='scheda_data_rilevamento',
label=_('data
rilevamento'),
validator=NewDateConvertValidator(strip=True),
attrs=dict(onchange="row_change(this)")),
w.Label(name='peso',
validator=SferaUnicodeString),
SferaPopUpLink(label =_('algoritmo'),
name ='algoritmo',
),
w.CheckBox(name='cancella',
label=_('cancella'),
attrs=dict(onchange='row_delete(this)')),
w.HiddenField(name='row_changed',
default='unchanged'),
],
repetitions=0,
validator = CaratteristicheRischiValidator(),
notadd=1),
ExtendedFieldSet(name='barra',
template='sicer.BASE.view.widgets.templates.FieldSet',
row_attrs=dict(style='display:inline'), label='',fields=[
w.SubmitButton(name='salva',
default=_('salva'), label=''),
w.Button(name='exit',
default=_('esci'), label='', attrs =
dict(onclick='window.location="/fascicolo_ua/"')),
])
],
action = 'save_rischi',
)
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.