add owner

This commit is contained in:
gwen
2012-12-10 14:38:25 +01:00
parent cd50cf7551
commit ca2f4487dd
5 changed files with 32 additions and 15 deletions

View File

@ -37,16 +37,16 @@ class _const:
# ____________________________________________________________
class GroupModule(_const):
"emulates a module to manage unique group (OptionDescription) names"
class GroupName(str):
class GroupType(str):
"""allowed normal group (OptionDescription) names
*normal* means : groups that are not master
"""
pass
class DefaultGroupName(GroupName):
class DefaultGroupType(GroupType):
"""groups that are default (typically 'default')"""
pass
class MasterGroupName(GroupName):
class MasterGroupType(GroupType):
"""allowed normal group (OptionDescription) names
*master* means : groups that have the 'master' attribute set
"""
@ -62,11 +62,11 @@ def populate_groups():
# populates normal or master groups
for grp in _available_group_names:
if grp in _available_groups_with_a_master:
setattr(groups, grp, groups.MasterGroupName(grp))
setattr(groups, grp, groups.MasterGroupType(grp))
elif grp in _available_default_groups:
setattr(groups, grp, groups.DefaultGroupName(grp))
setattr(groups, grp, groups.DefaultGroupType(grp))
else:
setattr(groups, grp, groups.GroupName(grp))
setattr(groups, grp, groups.GroupType(grp))
# names are in the module now
populate_groups()
# ____________________________________________________________
@ -93,6 +93,13 @@ def populate_owners():
"""
setattr(owners, 'default', owners.DefaultOwner('default'))
setattr(owners,'user', owners.Owner('user'))
def add_owner(name):
"""
:param name: the name of the new owner
"""
setattr(owners, name, owners.Owner(name))
setattr(owners, 'add_owner', add_owner)
# names are in the module now
populate_owners()
#____________________________________________________________