I was talking about TurboGears. I must admit I had assumed that these were considered "details" that most frameworks would prefer to hide away as TG does, but a quick look over at Pylons suggests they've implemented a somewhat more customizable way of initiating the engine but involves a bit more coding (the usual story).
Given that TG will soon be based on Pylons & Pylons is alright, maybe its not worth the trouble. I hadn't stopped to look at what other options might cause problems. On Nov 25, 3:41 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: > which frameworks are we talking about here ? since yes I think if a > framework is going to take over the job of calling "create_engine()" > then they should provide proper inputs. There's a lot of things which > can be passed to create_engine() which don't work as strings. > > On Nov 24, 2008, at 7:01 PM, Iain wrote: > > > > > I was wondering if it would be possible to get the code changed to > > accept the poolclass argument to create_engine (and other functions?) > > optionally as a string reference to a Pool subclass rather than > > requiring the class itself. > > > The reason I ask is because SQLAlchemy is often a component of a > > larger framework and the framework will often create the engine > > itself, allowing configuration by a config file which usually cannot > > handle having python objects other than the basic types strings, > > numbers, lists, tuples etc, so using the poolclass option requires > > changing the source of the framework which is just not a good place to > > go :) > > > I have made a simple, temporary change to my 0.5rc4 version of > > sqlalchemy/engine/strategies.py that you're welcome to work from but > > I'm not saying it is particularly safe, elegant or otherwise :) > > > Thanks > > Iain > > > --- strategies.py.old 2008-11-24 13:08:45.000000000 +1030 > > +++ strategies.py 2008-11-25 10:25:42.000000000 +1030 > > @@ -82,6 +82,9 @@ > > > poolclass = (kwargs.pop('poolclass', None) or > > getattr(dialect_cls, 'poolclass', > > poollib.QueuePool)) > > + if isinstance(poolclass,str): > > + exec("pcls = %s" % poolclass) in globals(), locals() > > + poolclass = pcls > > pool_args = {} > > > # consume pool arguments from kwargs, translating a few > > of > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---