Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
 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)
Beispiel #4
0
    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
Beispiel #5
0
    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())
Beispiel #6
0
    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())
Beispiel #7
0
    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
Beispiel #8
0
    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
Beispiel #9
0
    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
Beispiel #10
0
    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
Beispiel #11
0
    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
Beispiel #12
0
 def get_properties_by_record_type(self, record_type):
     """Not required by customer"""
     raise errors.OperationFailed('oops, forgot to implement')
Beispiel #13
0
 def get_properties(self):
     """Not required by customer"""
     raise errors.OperationFailed('oops, forgot to implement')