Hi,
I'm new to TG. I'm planning to kick off a project in a few months and
am leaning towards using TG for it. I know that TG2 is still in
development, but from the lists, it sounds close-to-ready at a code
level. So, I figured I'd give it a try per
http://docs.turbogears.org/2.0/RoughDocs/InstallingFromDev.
After building Pylons and TG2, I ran
paster serve tg/tests/blogtutorial.ini
and I get
full traceback
URL: http://127.0.0.1:5000/
Module pylons.error:245 in respond
<< try:
__traceback_supplement__ = Supplement, self, environ
app_iter = self.application(environ, detect_start_response)
try:
return_iter = list(app_iter)>> app_iter =
self.application(environ, detect_start_response)
Module paste.deploy.config:164 in __call__
<< CONFIG.push_thread_config(conf)
try:
app_iter = self.application(environ, start_response)
finally:
if app_iter is None:>> app_iter =
self.application(environ, start_response)
Module pylons.wsgiapp:291 in __call__
<< def __call__(self, environ, start_response):
environ['pylons.environ_config'] = self.econf
return self.app(environ, start_response)>> return
self.app(environ, start_response)
Module beaker.cache:180 in __call__
<< environ['paste.registry'].register(self.cache,
self.cache_manager)
environ[self.environ_key] = self.cache_manager
return self.app(environ, start_response)>> return
self.app(environ, start_response)
Module beaker.session:405 in __call__
<< return start_response(status, headers, exc_info)
try:
response = self.wrap_app(environ, session_start_response)
except:
ty, val = sys.exc_info()[:2]>> response =
self.wrap_app(environ, session_start_response)
Module routes.middleware:104 in __call__
<< environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1]
response = self.app(environ, start_response)
del config.environ
del self.mapper.environ>> response = self.app(environ,
start_response)
Module pylons.wsgiapp:88 in __call__
<<
controller = self.resolve(environ, start_response)
response = self.dispatch(controller, environ, start_response)
if 'paste.testing_variables' in environ and
hasattr(response,>> response = self.dispatch(controller, environ,
start_response)
Module pylons.wsgiapp:214 in dispatch
<< # Controller is assumed to handle a WSGI call
log.debug("Calling controller class with WSGI interface")
return controller(environ, start_response)
def load_test_env(self, environ):>> return
controller(environ, start_response)
Module pylons.controllers.core:152 in __call__
<< return response(environ, self.start_response)
response = self._dispatch_call()
if not start_response_called:
# If its not a WSGI response, and we have content, it
needs to>> response = self._dispatch_call()
Module pylons.controllers.core:113 in _dispatch_call
<< req.environ['pylons.action_method'] = func
response = self._inspect_call(func)
else:
log.debug("Couldn't find %r method to handle
response", action)>> response = self._inspect_call(func)
Module pylons.controllers.core:76 in _inspect_call
<< args)
try:
result = func(**args)
except HTTPException, httpe:
log.debug("%r method raised HTTPException: %s (code:
%s)",>> result = func(**args)
Module tg.controllers:212 in route
<< # Render template
controller.tg_info.run_hooks('before_render', remainder,
params, output)
response = self._tg_render_response(controller, output)
controller.tg_info.run_hooks('after_render', response)
return response>> response =
self._tg_render_response(controller, output)
Module tg.controllers:97 in _tg_render_response
<< template_name=template_name,
include_pylons_variables=False,
namespace=namespace)
response = pylons.Response(result)
response.headers['Content-Type'] = content_type>>
namespace=namespace)
Module pylons.templating:228 in render
<< log.debug("Rendering template %s with engine %s",
full_path, engine_name)
return engine_config['engine'].render(namespace,
template=full_path,
**options)>> **options)
Module turbokid.kidsupport:195 in render
<<
return t.serialize(encoding=self.defaultencoding,
fragment=fragment,
output=output, format=format)
def transform(self, info, template):>> output=output, format=format)
Module kid:301 in serialize
<< return serializer.serialize(self, encoding, fragment, format)
except Exception:
raise_template_error(module=self.__module__)
def generate(self, encoding=None,>>
raise_template_error(module=self.__module__)
Module kid:299 in serialize
<< serializer = self._get_serializer(output)
try:
return serializer.serialize(self, encoding, fragment, format)
except Exception:
raise_template_error(module=self.__module__)>>
return serializer.serialize(self, encoding, fragment, format)
Module kid.serialization:107 in serialize
<< fragment=False, format=None):
try:
text = ''.join(self.generate(stream, encoding,
fragment, format))
except TypeError: # workaround for bug 905389 in Python < 2.5
text = ''.join(tuple(>> text =
''.join(self.generate(stream, encoding, fragment, format))
Module kid.serialization:629 in generate
<< stream = self.inject_meta_content_type(stream, encoding)
for ev, item in self.apply_filters(stream, format):
if ev == TEXT and item:
escape = self.is_escape(current)>> for ev, item
in self.apply_filters(stream, format):
Module kid.serialization:165 in format_stream
<< formatted = 0
text = last_char = ''
for ev, item in stream:
if ev == TEXT:
text += item>> for ev, item in stream:
Module kid.parser:221 in _coalesce
<< last_ev = None
stack = [None]
for ev, item in stream:
if ev == TEXT:
textbuf.append(item)>> for ev, item in stream:
Module kid.serialization:477 in inject_meta_tags
<< done = False
meta_tag = None
for ev, item in stream:
if not done:
if ev in (START, END):>> for ev, item in stream:
Module kid.parser:179 in _track
<< self.current = current
yield START, current
for p in stream:
ev, item = p
if ev == START:>> for p in stream:
Module kid.filter:26 in apply_matches
<<
def apply_matches(stream, template, templates, apply_func):
for ev, item in stream:
if ev == START:
matched = False>> for ev, item in stream:
Module kid.parser:179 in _track
<< self.current = current
yield START, current
for p in stream:
ev, item = p
if ev == START:>> for p in stream:
Module kid.parser:221 in _coalesce
<< last_ev = None
stack = [None]
for ev, item in stream:
if ev == TEXT:
textbuf.append(item)>> for ev, item in stream:
Module blogtutorial.templates.test_form:70 in _pull
<class 'exceptions.NameError'>: name 'h' is not defined Error
location in template file
'/Users/neighborhoodorg/tg/tg2/tg/tests/blogtutorial/templates/test_form.kid'
between line 13, column 4 and line 14, column 9: <form
method="POST" action="sub/do_test"> A: ...
Any idea what's wrong? Or, is this test currently broken and I should
proceed full steam ahead with writing my first TG app?
Thanks
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---