[Python-3000] PEP 3133: Introducing Roles
Arvind Singh
arvind1.singh at gmail.com
Mon May 14 12:06:32 CEST 2007
> Asking Questions About Roles
Shouldn't there be some way to ``revoke'' roles?
How can we get a list of all roles played by an object?
Should there be a way to check ``loosely'' whether an object can
potentially play a given role? (i.e., checking whether an object
provides a give interface, atleast syntactically)
I understand that this can be achieved via:
try:
now_performs(instance.__class__, [role.RoleToCheck])
except:
print("can't play role")
else:
print("maybe plays role")
But such approach will be error prone (``revoking'' roles later, and
such; destructive checks are bad idea, anyway). Better would be to
have::
if performs(instance, [role.RoleToCheck], loose=True):
print("maybe plays role")
> Assigning Roles at Runtime
Maybe it should be suggested that dynamic role assignment should not
be made without knowing the implementation (with a reminder about
tree's bark() and dog's bark() ).
Regards,
Arvind
More information about the Python-3000
mailing list