It looks to me that you are correctly enabling switchboard. It looks like
it's trying to access the request before outside of an HTTP request.
I never used switchboard myself, so I don't know how it works, but I
suppose you might be trying to access to a switch value (is_active) outside
of a request.


On Mon, Feb 17, 2014 at 12:05 AM, Ricardo Molina <
[email protected]> wrote:

> 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.
>

-- 
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.

Reply via email to