gd (version 0.6)

gd.py

# GD - GroupsDirectory
#
# RightsDirectory is a self maintaining object for administrating memberships.
# It makes it simple to load and save a ready structure for administration.
#
# E.g

# >>> import gd
# >>> root = gd.root('public')
# >>> root.create(2, 'admins', 'Administrators')
# >>> root.create(2, 'publ', c='Publishers')
# >>> root.create(2, 'news.read', c='Allows to read')
# >>> root.create(2, 'news.write', c='Allows to write')
# >>> root.create(1, 'zaphod', c='Former President')
# >>> root.create(1, 'trillian', c='Friend with Zaphod')
# >>> root.create(1, 'arthur', c='Not Zaphods friend')
# >>> root.addMembers('zaphod', 'admins')
# >>> root.addMembers(('trillian', 'admins'), 'publ')
# >>> root.addMembers('publ', 'news.write')
# >>> root['news.read'].addMembers('public')
# >>> root.isIn('arthur', 'news.write')
# False
# >>> root.isIn('zaphod', 'news.write')
# True
# >>> root.isMember('zaphod', 'news.write')
# False
# >>> root.isIn('trillian', 'news.read')
# True
# >>> root.save('dir.dat')
# ---
# >>> import gd
# >>> root = gd.loadFile('dir.dat')
# >>> root.getMembers('publ')
# ['trillian', 'admins']
# >>> root.isMemberOf('trillian')
# ['public', 'publ']
#
# Crosslinking is allowed but use it with care. 
#

 
Classes
       
gdObj
root

 
class gdObj
    gdObj is the main object. A GD-object can either be a item- or a
group object. The difference between the two are that groups can
contain members which the items can't.  GD-objects can not create
other objects. They must be created in the ROOT-object.
 
  Methods defined here:
__init__(self, types, name=None, c='', master=None)
__str__(self)
Returns the name of self.
addMembers(self, n, o=None)
Add n as member to o. If o is omitted self is assumed.
exists(self, n)
Returns True if n exists in directory. Otherwise False is
returned.
getMembers(self, o=None)
Return a list of members in o. None is returned if no
members exists. If o is omitted self is assumed.
getMeta(self, o=None)
Return list of metadata in o. If o is omitted self is
assumed. None is returned if o doesn't exist in directory.
isIn(self, n, o=None)
Return True if n is present in member hierarchy from o and
down. Else return False. If o is omitted self is assumed.
isMember(self, n, o=None)
Return True if n exists in member list of o. False if not.
If o is omitted self is assumed.
isMemberOf(self, n)
Return a list of which instances got n as a member. None is
returned if n doesn't exist in directory.
removeMember(self, n, o=None)
Remove the member n from member list in o. If o is omitted
self is assumed
setComment(self, c, o=None)
Set c as comment in o. If o is omitted self is assumed.

 
class root(gdObj)
    Root, (public) instance hosts all other instances. It can create,
remove and manage all other instances in tree. Root instance can not be
created within the structure.  But the Root, (public) can be a member
of a group which then means public.  E.g. if Root is a member of the
group 'news.reader'. All objects in the directory will return True
when querying 'isIn' for 'news.reader'.
 
  Methods defined here:
__getitem__(self, n)
Return the instance n.
__init__(self, n='root')
Creates a GD-Root with name n. Default is 'root'. If the
intention is to manage users and users-groups. 'public' would
be a nice name.
create(self, t, n, c='')
Creates a new instance in root with the name n. The type
is t, (1 = Item, 2 = Group) and comment is c.
delete(self, n)
Delete instance n.
getPickle(self)
Returns self as pickle.
save(self, n='gd.dat')
Save self as pickle to file n.

Methods inherited from gdObj:
__str__(self)
Returns the name of self.
addMembers(self, n, o=None)
Add n as member to o. If o is omitted self is assumed.
exists(self, n)
Returns True if n exists in directory. Otherwise False is
returned.
getMembers(self, o=None)
Return a list of members in o. None is returned if no
members exists. If o is omitted self is assumed.
getMeta(self, o=None)
Return list of metadata in o. If o is omitted self is
assumed. None is returned if o doesn't exist in directory.
isIn(self, n, o=None)
Return True if n is present in member hierarchy from o and
down. Else return False. If o is omitted self is assumed.
isMember(self, n, o=None)
Return True if n exists in member list of o. False if not.
If o is omitted self is assumed.
isMemberOf(self, n)
Return a list of which instances got n as a member. None is
returned if n doesn't exist in directory.
removeMember(self, n, o=None)
Remove the member n from member list in o. If o is omitted
self is assumed
setComment(self, c, o=None)
Set c as comment in o. If o is omitted self is assumed.

 
Functions
       
load(s)
Return a gd-instance from the string s.
loadFile(n='gd.dat')
Return an gd-instance from file named n. If n is omitted 'gd.dat' is assumed.

 
Data
        GROUP = 2
ITEM = 1
__author__ = 'C.J. Wagenius <cwagenius@users.sourceforge.com'
__version__ = '0.6'

 
Author
        C.J. Wagenius <cwagenius@users.sourceforge.com