OT: Turbogears y CRUD ExpatError: not well-formed (invalid token):

FERNANDO VILLARROEL fvillarroel en yahoo.com
Mie Abr 30 17:21:02 CEST 2008


Hola Miguel, muchas gracias efectivamente ese era el
error.

Ahora funciona, lo que ocurre es que es mi primer
encuentro con TG, KID, etc.

En la documentacion de TG me encontre con CRUD y lo
que hice fue generar las plantillas para una clase
determinada de mi Base de Datos, ahora veo que el
error lo comete CRUD al momento de generar los
templates.

Aprovecho de preguntarte tu me decias que validara las
plantillas previamente, como se hago eso, con tg-admin
crud ....?

Bueno gracias por tu ayuda.

Saludos.
--- Luis Miguel Morillas <morillas en gmail.com> wrote:

> Faltan unas comillas en <a
> href=${tg.url('../list')}">Back</a>  .
> Valida antes tus pantillas kid para evitar estos
> problemas.
> 
> 
> 2008/4/30 FERNANDO VILLARROEL
> <fvillarroel en yahoo.com>:
> > 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'">
> 
=== message truncated ===



      ____________________________________________________________________________________
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