I should add, that everthing works fine for me if I change
checkbox.pt in my ~/eggs/deform-0.9.6-py3.2.egg/deform/templates/readonly
dir like this


$ diff -u checkbox.pt.orig checkbox.pt
--- checkbox.pt.orig    2013-01-19 11:18:29.320742827 +0100
+++ checkbox.pt 2013-01-19 11:18:59.520892592 +0100
@@ -1,5 +1,5 @@
 <span tal:define="oid oid|field.oid;
-                  true_val|field.widget.true_val;"
+                  true_val true_val|field.widget.true_val;"
       tal:omit-tag="">
   <span id="${oid}"
         tal:condition="cstruct == true_val">Yes</span>
$

so .../readonly/checkbox.pt seems at the culprit.


-Andreas


Andreas Reuleaux <[email protected]> writes:

> just got updated to colander 1.0a1 / deform 0.9.6 
> (I am on python3.2), a simple example:
>
>
> import deform
> import colander
>
> class FooSchema(colander.MappingSchema):
>        foo=colander.SchemaNode(colander.Bool(),
>                                title='Foo',
>                                missing=False)
>        bar=colander.SchemaNode(colander.String(), 
>                                title='Bar', 
>                                missing='')
>
>
> schema=FooSchema()
> form=deform.Form(schema, buttons=('ok',))
> appstruct={'foo': True, 'bar': 'some baz'}
>
> form.render(appstruct)
> # ...still works
>
>
> # but watch out now, when rendering with readonly=True, see below
> # any idea ? / anything I am doing wrong or that has changed and I need
> # to adjust ?
>
> # -Andreas
>
>
>
> form.render(appstruct, readonly=True)
>
> Traceback (most recent call last):
>   File "<console>", line 1, in <module>
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/field.py", line 
> 494, in render
>     html = self.serialize(cstruct, **kw)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/field.py", line 
> 455, in serialize
>     return self.widget.serialize(**values)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/widget.py", line 
> 1145, in serialize
>     return field.renderer(template, **values)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/template.py", line 
> 69, in __call__
>     return self.load(template_name)(**kw)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 125, in __call__
>     return self.render(**kwargs)
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/template.py", 
> line 257, in render
>     return super(PageTemplate, self).render(**vars)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 172, in render
>     self._render(stream, econtext, rcontext)
>   File "form_6c89eed45342953111029356c8e50384334bf899.py", line 279, in render
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/field.py", line 
> 684, in render_template
>     return self.renderer(template, **values)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/template.py", line 
> 69, in __call__
>     return self.load(template_name)(**kw)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 125, in __call__
>     return self.render(**kwargs)
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/template.py", 
> line 257, in render
>     return super(PageTemplate, self).render(**vars)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 190, in render
>     raise_with_traceback(exc, tb)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/utils.py", 
> line 73, in raise_with_traceback
>     raise exc
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 172, in render
>     self._render(stream, econtext, rcontext)
>   File "mapping_item_32d4a36147251899e5642484ecfc3a2eb1b2e80b.py", line 246, 
> in render
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/field.py", line 
> 455, in serialize
>     return self.widget.serialize(**values)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/widget.py", line 
> 777, in serialize
>     return field.renderer(template, **values)
>   File "/home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/template.py", line 
> 69, in __call__
>     return self.load(template_name)(**kw)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 125, in __call__
>     return self.render(**kwargs)
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/template.py", 
> line 257, in render
>     return super(PageTemplate, self).render(**vars)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 169, in render
>     self.cook_check()
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 293, in cook_check
>     self.cook(body)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 147, in cook
>     program = self._cook(body, digest, names)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 218, in _cook
>     source = self._make(body, builtins)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/template.py", 
> line 249, in _make
>     program = self.parse(body)
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/template.py", 
> line 202, in parse
>     trim_attribute_space=self.trim_attribute_space,
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/program.py", line 
> 145, in __init__
>     super(MacroProgram, self).__init__(*args, **kwargs)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/program.py", 
> line 32, in __init__
>     node = self.visit(kind, args)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/program.py", 
> line 38, in visit
>     return visitor(*args)
>   File 
> "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/zpt/program.py", line 
> 352, in visit_element
>     defines = tal.parse_defines(clause)
>   File "/home/reuleaux/eggs/Chameleon-2.11-py3.2.egg/chameleon/tal.py", line 
> 158, in parse_defines
>     raise LanguageError("Invalid define syntax", part)
> chameleon.exc.LanguageError: chameleon.exc.LanguageError: Invalid define 
> syntax
>
>  - String:     "
>                   true_val|field.widget.true_val"
>  - Filename:   
> /home/reuleaux/eggs/deform-0.9.6-py3.2.egg/deform/templates/readonly/checkbox.pt
>  - Location:   (1:35)
>
>  - Expression: "child.render_template(item_tmpl)"
>  - Filename:   ... deform-0.9.6-py3.2.egg/deform/templates/readonly/form.pt
>  - Location:   (21:31)
>  - Source:     ... place="structure child.render_template(item_tmpl)"/>
>                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  - Expression: "field.serialize(cstruct, readonly=True)"
>  - Filename:   ... .9.6-py3.2.egg/deform/templates/readonly/mapping_item.pt
>  - Location:   (12:31)
>  - Source:     ... ce="structure field.serialize(cstruct, readonly=True)"/>
>                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  - Arguments:  category: default
>                repeat: {...} (0)
>                description: 
>                field: <Field - at 0x3ee91d0>
>                cstruct: true
>                title: Foo
>                hidden: False

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en.

Reply via email to