def get_commenting_agent(self): """Gets the agent who created this comment. return: (osid.authentication.Agent) - the ``Agent`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ if not self.has_commentor(): raise errors.IllegalState('this Comment has no commenting_agent') try: from ..authentication import managers except ImportError: raise errors.OperationFailed( 'failed to import authentication.managers') try: mgr = managers.AuthenticationManager() except: raise errors.OperationFailed( 'failed to instantiate AuthenticationManager') if not mgr.supports_agent_lookup(): raise errors.OperationFailed( 'Authentication does not support Agent lookup') try: osid_object = mgr.get_agent_lookup_session().get_agent( self.get_commenting_agent_id()) except: raise errors.OperationFailed() else: return osid_object
def get_type_admin_session(self): """Gets the ``OsidSession`` associated with the type admin service. return: (osid.type.TypeAdminSession) - a ``TypeAdminSession`` raise: OperationFailed - unable to complete request raise: Unimplemented - ``supports_type_admin()`` is ``false`` *compliance: optional -- This method must be implemented if ``supports_type_admin()`` is ``true``.* """ if not self.supports_type_admin(): raise errors.Unimplemented() try: from . import sessions except ImportError: raise errors.OperationFailed() try: session = sessions.TypeAdminSession() except AttributeError: raise errors.OperationFailed() return session
def _unassign_object_from_catalog(self, obj_id, cat_id): pkg_name = obj_id.get_identifier_namespace().split('.')[0] obj_name = obj_id.get_identifier_namespace().split('.')[1] catalog_key = 'assigned' + self._catalog_name + 'Ids' collection = JSONClientValidated(pkg_name, collection=obj_name, runtime=self._runtime) obj_map = collection.find_one( {'_id': ObjectId(obj_id.get_identifier())}) if obj_map[catalog_key] == [str(cat_id)]: raise errors.OperationFailed( 'unassigning object from ${cat_name_under} would leave it unattached' ) try: obj_map[catalog_key].remove(str(cat_id)) except (KeyError, ValueError): raise errors.NotFound() collection.save(obj_map)
def get_agent(self): """Gets the ``Agent`` who created this entry. return: (osid.authentication.Agent) - the ``Agent`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.resource.Resource.get_avatar_template if not bool(self._my_map['agentId']): raise errors.IllegalState('this LogEntry has no agent') mgr = self._get_provider_manager('AUTHENTICATION') if not mgr.supports_agent_lookup(): raise errors.OperationFailed('Authentication does not support Agent lookup') lookup_session = mgr.get_agent_lookup_session(proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_agency_view() osid_object = lookup_session.get_agent(self.get_agent_id()) return osid_object
def get_assessment(self): """Gets the assessment to which this rule belongs. return: (osid.assessment.Assessment) - an assessment raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.learning.Activity.get_objective if not bool(self._my_map['assessmentId']): raise errors.IllegalState('assessment empty') mgr = self._get_provider_manager('ASSESSMENT') if not mgr.supports_assessment_lookup(): raise errors.OperationFailed( 'Assessment does not support Assessment lookup') lookup_session = mgr.get_assessment_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_bank_view() return lookup_session.get_assessment(self.get_assessment_id())
def get_qualifier(self): """Gets the qualifier for this authorization. return: (osid.authorization.Qualifier) - the qualifier raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.learning.Activity.get_objective if not bool(self._my_map['qualifierId']): raise errors.IllegalState('qualifier empty') mgr = self._get_provider_manager('AUTHORIZATION') if not mgr.supports_qualifier_lookup(): raise errors.OperationFailed( 'Authorization does not support Qualifier lookup') lookup_session = mgr.get_qualifier_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_vault_view() return lookup_session.get_qualifier(self.get_qualifier_id())
def get_next_locale(self): """Gets the next ``Locale`` in this list. return: (osid.locale.Locale) - the next ``Locale`` in this list. The ``has_next()`` method should be used to test that a next ``Locale`` is available before calling this method. raise: IllegalState - no more elements available in this list raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ try: next_item = self.next() except StopIteration: raise errors.IllegalState( 'no more elements available in this list') except: #Need to specify exceptions here raise errors.OperationFailed() else: return next_item
def get_trust(self): """Gets the ``Trust`` for this authorization. return: (osid.authentication.process.Trust) - the ``Trust`` raise: IllegalState - ``has_trust()`` is ``false`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.resource.Resource.get_avatar_template if not bool(self._my_map['trustId']): raise errors.IllegalState('this Authorization has no trust') mgr = self._get_provider_manager('AUTHENTICATION.PROCESS') if not mgr.supports_trust_lookup(): raise errors.OperationFailed( 'Authentication.Process does not support Trust lookup') lookup_session = mgr.get_trust_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_agency_view() osid_object = lookup_session.get_trust(self.get_trust_id()) return osid_object
def get_resource(self): """Gets the ``Resource`` for this authorization. return: (osid.resource.Resource) - the ``Resource`` raise: IllegalState - ``has_resource()`` is ``false`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.resource.Resource.get_avatar_template if not bool(self._my_map['resourceId']): raise errors.IllegalState('this Authorization has no resource') mgr = self._get_provider_manager('RESOURCE') if not mgr.supports_resource_lookup(): raise errors.OperationFailed( 'Resource does not support Resource lookup') lookup_session = mgr.get_resource_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_bin_view() osid_object = lookup_session.get_resource(self.get_resource_id()) return osid_object
def get_avatar(self): """Gets the asset. return: (osid.repository.Asset) - the asset raise: IllegalState - ``has_avatar()`` is ``false`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.resource.Resource.get_avatar_template if not bool(self._my_map['avatarId']): raise errors.IllegalState('this Resource has no avatar') mgr = self._get_provider_manager('REPOSITORY') if not mgr.supports_asset_lookup(): raise errors.OperationFailed( 'Repository does not support Asset lookup') lookup_session = mgr.get_asset_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_repository_view() osid_object = lookup_session.get_asset(self.get_avatar_id()) return osid_object
def get_rating(self): """Gets the ``Grade``. return: (osid.grading.Grade) - the ``Grade`` raise: IllegalState - ``has_rating()`` is ``false`` raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """ # Implemented from template for osid.resource.Resource.get_avatar_template if not bool(self._my_map['ratingId']): raise errors.IllegalState('this Comment has no rating') mgr = self._get_provider_manager('GRADING') if not mgr.supports_grade_lookup(): raise errors.OperationFailed( 'Grading does not support Grade lookup') lookup_session = mgr.get_grade_lookup_session( proxy=getattr(self, "_proxy", None)) lookup_session.use_federated_gradebook_view() osid_object = lookup_session.get_grade(self.get_rating_id()) return osid_object
def get_properties_by_record_type(self, record_type): """Not required by customer""" raise errors.OperationFailed('oops, forgot to implement')
def get_properties(self): """Not required by customer""" raise errors.OperationFailed('oops, forgot to implement')