Enrico, is this a new application written for Pylons 0.9.6.1?  Or an
older application you're updating? You're using some tools and
tutorials that are way out of date.

On Dec 17, 2007 2:58 AM, enrico secco <[EMAIL PROTECTED]> wrote:
> I'm trying to test the possibility to develop a web application in
> Pylons and I must handle the permission at row level of my db.
>
> I did think to use AuthKit but I'm forced to use the UsersFromDatabase
> mode.
> I did try to test the funcionality on following the tutorial relative
> to QuickWiki in the Authentication and Authorization (PylonsBook)

Pylons' database support has changed since that chapter was written.
James is working on a new draft.  I haven't used AuthKit yet so I'll
have to guess a bit here.  The last comment in the Advanced AuthKit
chapter says to use the newer driver in
authkit.users.sqlalchemy_04_driver.UsersFromDatabase instead.  So
that's the first place to start.
http://wiki.pylonshq.com/display/pysbook/Advanced+AuthKit

Next, we need to replace all occurances of 'ctx' and 'pylons.database'
with something else, but it'll take a bit of time to unravel this.

> but
> I don't be aple to pass the
>
> paster setup-app development.ini
>
> The first problem was the definition of 'meta' and 'ctx'. For meta I
> suppose that there was e change in QuickWiki because MetaData() is
> assigned to a 'metadata' variable. Then i add the line
>
> meta = metadata

Yes, tutorial writers vacillate between using 'meta' or 'metadata' for
that variable, but it's the same thing.

>
> and for ctx insert 2 lines in QuickWiki model
>
> from pylons.database import create_engine, session_context
> ...
> ctx = session_context()

No, no, no; that's two generations old.  Structure your model
according to "Making a Pylons Blog"
http://wiki.pylonshq.com/display/pylonscookbook/Making+a+Pylons+Blog

"SQLAlchemy 0.4 for people in a hurry" explains the general database
strategy for Pylons >= 0.9.6.  It works as-is but will soon get two
updates from the blog tutorial: the 'init_model' function (should
use), and the 'pylons.g' dependency (should eliminate).
http://wiki.pylonshq.com/display/pylonscookbook/SQLAlchemy+0.4+for+people+in+a+hurry

In either case you'll end up with a 'model.Session' object which is
the successor to 'ctx'.  So anywhere AuthKit uses 'ctx', use
'model.Session' instead.

I assume you have a single database containing both your data and
permissions.  If you're using multiple databases, it's  slightly more
complicated to set up.

> [EMAIL PROTECTED]:~# paster setup-app test.ini
> Running setup_config() from quickwiki.websetup
> /usr/lib/python2.5/site-packages/QuickWiki-0.1.5-py2.5.egg/quickwiki/
> model/__init__.py:10: DeprecationWarning: pylons.database is
> deprecated, and will be removed from a future version of Pylons.
> SQLAlchemy 0.3.x users are recommended to migrate to SAContext (http://
> cheeseshop.python.org/pypi/SAContext) for similar functionality

Ignore this.

>   from pylons.database import create_engine, session_context
> /usr/lib/python2.5/site-packages/Pylons-0.9.6.1-py2.5.egg/pylons/
> database.py:142: SADeprecationWarning: SessionContext is deprecated.
> Use scoped_session().

Listen to this instead.  it's what the above tutorials will give you.

If you see SAContext or 'sac' anywhere in the documentation, use its
component parts from the model instead.
sac.metadata => model.meta or model.metadata
sac.session_context or sac.ctx => model.Session
sac.engine["foo"]  =>  model.engine  (though you probably want
model.Session.execute instead)

>     engine = create_engine(uri, echo=echo, **kwargs)
>   File "/usr/lib/python2.5/site-packages/Pylons-0.9.6.1-py2.5.egg/
> pylons/database.py", line 84, in create_engine
>     assert uri
> AssertionError

The actual error is that sqlalchemy.create_engine was called with a
blank URL (probably None though maybe "").  Rather than trace through
why this happened, just restructure your code to avoid
pylons.database.

> """
> The tables are created with all the constraints but not the istances
> 'delete' in the role ad admin in the user tables.

So somehow AuthKit is not able to use the SQLAlchemy engine/connection
the other code is using.

-- 
Mike Orr <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to