I am trying to use switchboard-tg2 0.3 [
https://pypi.python.org/pypi/switchboard-tg2/0.3 ] in my TurboGears 222
app, but I am getting this error:
Starting subprocess with file monitor
2014-02-1392590872 23:47:52,729 WARNI [tgext.pluggable] TurboGears version
< 2.3.1, disabling support for SQLAlchemy 0.9
2014-02-1392590872 23:47:52,731 INFO [tgext.pluggable] Plugging
switchboard_tg2
Traceback (most recent call last):
...
...
...
* File
"/home/ricardo/env/tg222/local/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/registry.py",
line 197, in _current_obj*
* 'thread' % self.____name__)*
*TypeError: No object (name: request) has been registered for this thread*
This is my *app_cfg.py* file, where I have plugged in switchboard_tg2:
# -*- coding: utf-8 -*-
#some imports
from tg.configuration import AppConfig
from tg.configuration.auth import TGAuthMetadata
import neptuno.util as np_util
*from tgext.pluggable import plug*
#This tells to TurboGears how to retrieve the data for your user
class ApplicationAuthMetadata(TGAuthMetadata):
def __init__(self, sa_auth):
self.sa_auth = sa_auth
def get_user(self, identity, userid):
return
self.sa_auth.dbsession.query(self.sa_auth.user_class).filter_by(user_name=userid).first()
def get_groups(self, identity, userid):
return [g.group_name for g in identity['user'].groups]
def get_permissions(self, identity, userid):
return [p.permission_name for p in identity['user'].permissions]
class CustomConfig(AppConfig):
def __init__(self):
super(CustomConfig, self).__init__()
self.use_toscawidgets = False
self.renderers = []
self.package = sapns
#Enable json in expose
self.renderers.append('json')
#Set the default renderer
self.default_renderer = 'jinja'
self.renderers.append('jinja')
*self.renderers.append('mako')*
self.jinja_extensions = ['jinja2.ext.i18n']
self.use_dotted_templatenames = False # makes TG 2.1.5 work
#Configure the base SQLALchemy Setup
self.use_sqlalchemy = True
self.model = sapns.model #@UndefinedVariable
self.DBSession = sapns.model.DBSession #@UndefinedVariable
# Configure the authentication backend
self.auth_backend = 'sqlalchemy'
self.sa_auth.dbsession = model.DBSession
self.sa_auth.user_class = model.User
#self.sa_auth.group_class = model.Group
#self.sa_auth.permission_class = model.Permission
self.sa_auth.authmetadata = ApplicationAuthMetadata(self.sa_auth)
# override this if you would like to provide a different who plugin
for
# managing login and logout of your application
self.sa_auth.form_plugin = None
# override this if you are using a different charset for the login
form
self.sa_auth.charset = 'utf-8'
# You may optionally define a page where you want users to be
redirected to
# on login:
self.sa_auth.post_login_url = '/post_login'
# You may optionally define a page where you want users to be
redirected to
# on logout:
self.sa_auth.post_logout_url = '/post_logout'
def setup_routes(self):
from tg.configuration import config
from routes.mapper import Mapper
map_ = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'])
# Setup a default route for the root of object dispatch
controller_ = 'root'
root_folder = config.get('app.root_folder')
if root_folder:
controller_ = '%s/root' % root_folder
map_.connect('*url', controller=controller_,
action='routes_placeholder')
config['routes.map'] = map_
base_config = CustomConfig()
*plug(base_config, 'switchboard_tg2')*
Does anyone know how to solve this issue (TypeError: No object (name:
request) has been registered for this thread)?
Thank you
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/groups/opt_out.