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.