def __init__(self):
if self.base_permissions is None:<EOL><INDENT>self.base_permissions = set()<EOL>for attr_name in dir(self):<EOL><INDENT>if hasattr(getattr(self, attr_name), "<STR_LIT>"):<EOL><INDENT>permission_name = getattr(<EOL>getattr(self, attr_name), "<STR_LIT>"<EOL>)<EOL>self.base_permissions.add("<STR_LIT>" + permission_name)<EOL><DEDENT><DEDENT>self.base_permissions = list(self.base_permissions)<EOL><DEDENT>if not self.extra_args:<EOL><INDENT>self.extra_args = dict()<EOL><DEDENT>self._apis = dict()<EOL>for attr_name in dir(self):<EOL><INDENT>if hasattr(getattr(self, attr_name), "<STR_LIT>"):<EOL><INDENT>_extra = getattr(getattr(self, attr_name), "<STR_LIT>")<EOL>for key in _extra:<EOL><INDENT>self._apis[key] = _extra[key]<EOL><DEDENT><DEDENT><DEDENT>
Initialization of base permissions
based on exposed methods and actions

Initialization of extra args