OT: Turbogears y CRUD ExpatError: not well-formed (invalid token):
FERNANDO VILLARROEL
fvillarroel en yahoo.com
Mie Abr 30 06:48:23 CEST 2008
Hola primero disculpen la pregunta algo off topic,
pero necesito saber si alguien ha tenido problemas con
CRUD desde TG.
El tema es que he seguido al pie de la letra lo
indicado en la documentacion:
http://docs.turbogears.org/1.0/CRUDTemplate
Anda todo bien excepto el formulario form.kid, que me
tira el siguiente error:
Page handler: <bound method TestForms.edit of
<hola.TestForms.controllers.TestForms object at
0x81b2e6c>>
Traceback (most recent call last):
File
"/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py",
line 121, in _run
self.main()
File
"/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py",
line 264, in main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in edit
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/controllers.py",
line 365, in expose
*args, **kw)
File "<string>", line 5, in run_with_transaction
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/database.py",
line 356, in so_rwt
retval = func(*args, **kw)
File "<string>", line 5, in _expose
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/controllers.py",
line 380, in <lambda>
mapping, fragment, args, kw)))
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/controllers.py",
line 421, in _execute_func
return _process_output(output, template, format,
content_type, mapping, fragment)
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/controllers.py",
line 87, in _process_output
fragment=fragment)
File
"/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/view/base.py",
line 129, in render
return engine.render(**kw)
File
"/usr/lib/python2.5/site-packages/TurboKid-1.0.4-py2.5.egg/turbokid/kidsupport.py",
line 182, in render
tclass = self.load_template(template)
File
"/usr/lib/python2.5/site-packages/TurboKid-1.0.4-py2.5.egg/turbokid/kidsupport.py",
line 150, in load_template
mod = _compile_template(package, basename, tfile,
classname)
File
"/usr/lib/python2.5/site-packages/TurboKid-1.0.4-py2.5.egg/turbokid/kidsupport.py",
line 16, in _compile_template
mod = kid.load_template(tfile, name=classname)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/__init__.py",
line 158, in load_template
dump_source=os.environ.get('KID_OUTPUT_PY'))
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/compiler.py",
line 99, in compile
code = self.code
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/compiler.py",
line 117, in code
encoding=self.encoding)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/compiler.py",
line 114, in code
self._code = py_compile(self.python, pyfile)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/compiler.py",
line 127, in python
self.encoding, self.entity_map)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/codewriter.py",
line 66, in parse_file
return parse(source, encoding, filename,
entity_map)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/codewriter.py",
line 54, in parse
return KidWriter(doc, encoding, filename).parse()
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/codewriter.py",
line 245, in parse
self.proc_stream(self.module_code)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/codewriter.py",
line 333, in proc_stream
for ev, item in self.stream:
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/parser.py",
line 179, in _track
for p in stream:
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/parser.py",
line 221, in _coalesce
for ev, item in stream:
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/parser.py",
line 393, in __iter__
for ev, stuff in self._expat_stream():
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/parser.py",
line 372, in _expat_stream
feed(data)
File
"/usr/lib/python2.5/site-packages/kid-0.9.6-py2.5.egg/kid/parser.py",
line 434, in feed
raise expat.ExpatError(e)
ExpatError: not well-formed (invalid token): line 20,
column 63
Error in code generated from template file
'/home/fvillarroel/www/hola/hola/TestForms/templates/form.kid'
Los demas controles generados, list.kid y show.kid
funcionan bien.
Les pego ademas el form.kid
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type" py:replace="''"/>
<title py:if="page=='edit'">edit</title>
<title py:if="page=='new'">new</title>
</head>
<body>
<span py:if="page=='new'">
<h1>New ${modelname}</h1>
${form(action='save', submit_text = "Create")}
</span>
<span py:if="page=='edit'">
<h1>Editing ${modelname}</h1>
${form(value=record,
action=tg.url('../save/%s'%str(record.id)),
submit_text = "Edit")}
</span>
<br/>
<div id="footbar" class="footbar"
py:if="page=='edit'">
<a href="${tg.url('../show/%s'%record.id)}">Show</a> |
<a href=${tg.url('../list')}">Back</a>
</div>
</body>
</html>
Espero alguien tenga alguna idea.
Atte.
Fernando.
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es