コード例 #1
0
 def retrieve_activity_profile(self, activity, profile_id):
     """Retrieve activity profile with the specified parameters
     :param activity: Activity object of the desired activity profile
     :type activity: :class:`tincan.activity.Activity`
     :param profile_id: UUID of the desired profile
     :type profile_id: str | unicode
     :return: LRS Response object with an activity profile doc as content
     :rtype: :class:`tincan.lrs_response.LRSResponse`
     """
     if not isinstance(activity, Activity):
         activity = Activity(activity)
     request = HTTPRequest(method="GET",
                           resource="activities/profile",
                           ignore404=True)
     request.query_params = {
         "profileId": profile_id,
         "activityId": activity.id
     }
     lrs_response = self._send_request(request)
     if lrs_response.success:
         doc = ActivityProfileDocument(id=profile_id,
                                       content=lrs_response.data,
                                       activity=activity)
         headers = lrs_response.response.getheaders()
         if "lastModified" in headers and headers[
                 "lastModified"] is not None:
             doc.timestamp = headers["lastModified"]
         if "contentType" in headers and headers["contentType"] is not None:
             doc.content_type = headers["contentType"]
         if "etag" in headers and headers["etag"] is not None:
             doc.etag = headers["etag"]
         lrs_response.content = doc
     return lrs_response
コード例 #2
0
    def retrieve_activity_profile(self, activity, profile_id):
        """Retrieve activity profile with the specified parameters

        :param activity: Activity object of the desired activity profile
        :type activity: :class:`tincan.activity.Activity`
        :param profile_id: UUID of the desired profile
        :type profile_id: str | unicode
        :return: LRS Response object with an activity profile doc as content
        :rtype: :class:`tincan.lrs_response.LRSResponse`
        """
        if not isinstance(activity, Activity):
            activity = Activity(activity)

        request = HTTPRequest(
            method="GET",
            resource="activities/profile",
            ignore404=True
        )
        request.query_params = {
            "profileId": profile_id,
            "activityId": activity.id
        }
        lrs_response = self._send_request(request)

        if lrs_response.success:
            doc = ActivityProfileDocument(
                id=profile_id,
                content=lrs_response.data,
                activity=activity
            )
            headers = lrs_response.response.getheaders()
            if "lastModified" in headers and headers["lastModified"] is not None:
                doc.timestamp = headers["lastModified"]
            if "contentType" in headers and headers["contentType"] is not None:
                doc.content_type = headers["contentType"]
            if "etag" in headers and headers["etag"] is not None:
                doc.etag = headers["etag"]

            lrs_response.content = doc

        return lrs_response
コード例 #3
0
 def test_save_activity_profile(self):
     doc = ActivityProfileDocument(activity=self.activity,
                                   id="test",
                                   content=bytearray("Test value",
                                                     encoding="utf-8"))
     saveResp = self.lrs.save_activity_profile(doc)
     self.assertIsInstance(saveResp, LRSResponse)
     self.assertTrue(saveResp.success)
     response = self.lrs.retrieve_activity_profile(activity=self.activity,
                                                   profile_id="test")
     self.assertIsInstance(response, LRSResponse)
     self.assertTrue(response.success)
     self._vars_verifier(response.content, doc)
コード例 #4
0
    def test_delete_activity_profile(self):
        doc = ActivityProfileDocument(activity=self.activity, id="test")
        response = self.lrs.delete_activity_profile(doc)

        self.assertIsInstance(response, LRSResponse)
        self.assertTrue(response.success)