On Jan 24, 2006, at 3:43 PM, mario ruggier wrote:
> but unless i misunderstand something, i suspect this is simply a
> remnant of some previous idea you were working with. I take it that
> this method should simply be:
>
> def is_granted(self, permission, other=True):
> ...
Good eye, Mario! And your explanation is accurate, too.
I checked this in so we'll have it in the next release, which
I hope will come next week.
To preview the next release, here is the changelog as it is at the
moment:
Change user root BTree object into a UserDatabase. This change
will
require existing QP applications to update using a script like the
following example:
from qp.pub.publish import Publisher
from durus.file_storage import FileStorage
from durus.connection import Connection
from qp.lib.site import Site
if __name__ == '__main__':
site = Site('durusmail')
connection = Connection(FileStorage(site.get_durus_file()))
publisher = Publisher(connection, site)
# Update user_db from qp version 1.3 to qp version 1.4.
# Also replace publisher.get_users() calls in your code
# with publisher.get_user_db().get_users().
user_db = publisher.get_root()['user_db']
user_db.users = publisher.get_root()['users']
del publisher.get_root()['users']
publisher.commit()
publisher.get_connection().pack()
Remove Publisher.get_users() and add Publisher.get_user_db(). If your
code was using get_users(), you can replace those calls with
get_user_db().get_users().
The motivation for this is that it makes it a little easier for us to
convert our existing applications to work with qp.
Other than that, qp is pretty stable.
We'll probably also release a Durus update at the same time.
The changes there are not disruptive: just adding some methods to
BTree.