コード例 #1
0
    def test_obj_or_str_invalid_attr_parameter(self, m):
        register_uris({"user": ["get_by_id"]}, m)

        user = self.canvas.get_user(1)

        with self.assertRaises(TypeError):
            obj_or_str(user, user, (User,))
コード例 #2
0
    def test_obj_or_str_obj_no_attr(self, m):
        register_uris({"user": ["get_by_id"]}, m)

        user = self.canvas.get_user(1)

        with self.assertRaises(AttributeError):
            obj_or_str(user, "display_name", (User,))
コード例 #3
0
ファイル: feature.py プロジェクト: varlokkur/canvasapi
    def set_feature_flag(self, feature, **kwargs):
        """
        Set a feature flag for a given account, course or user.

        :calls: `PUT /api/v1/courses/:course_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.update>`_

            or `PUT /api/v1/accounts/:account_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.update>`_

            or `PUT /api/v1/users/:user_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.update>`_

        :param feature: The feature object to set
        :type feature: :class:`canvasapi.feature.Feature`

        :rtype: :class:`canvasapi.feature.FeatureFlag`
        """
        feature_name = obj_or_str(feature, "name", (Feature,))

        response = self._requester.request(
            "PUT",
            "{}s/{}/features/flags/{}".format(
                feature._parent_type, feature._parent_id, feature_name
            ),
            _kwargs=combine_kwargs(**kwargs),
        )
        return FeatureFlag(self._requester, response.json())
コード例 #4
0
ファイル: feature.py プロジェクト: varlokkur/canvasapi
    def delete(self, feature, **kwargs):
        """
        Remove a feature flag for a given account, course or user.

        :calls: `DELETE /api/v1/courses/:course_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.delete>`_

            or `DELETE /api/v1/accounts/:account_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.delete>`_

            or `DELETE /api/v1/users/:user_id/features/flags/:feature \
            <https://canvas.instructure.com/doc/api/
            feature_flags.html#method.feature_flags.delete>`_

        :rtype: :class:`canvasapi.feature.FeatureFlag`
        """
        feature_name = obj_or_str(feature, "name", (Feature,))

        response = self._requester.request(
            "DELETE",
            "{}s/{}/features/flags/{}".format(
                feature._parent_type, feature._parent_id, feature_name
            ),
            _kwargs=combine_kwargs(**kwargs),
        )
        return FeatureFlag(self._requester, response.json())
コード例 #5
0
    def test_obj_or_str_mult_obj(self, m):
        register_uris({"user": ["get_by_id"]}, m)

        user = self.canvas.get_user(1)

        user_name = obj_or_str(user, "name", (CourseNickname, User))

        self.assertIsInstance(user_name, str)
コード例 #6
0
    def test_obj_or_str_obj_attr(self, m):
        register_uris({"user": ["get_by_id"]}, m)

        user = self.canvas.get_user(1)

        user_name = obj_or_str(user, "name", (User,))

        self.assertIsInstance(user_name, str)
        self.assertEqual(user_name, "John Doe")
コード例 #7
0
ファイル: user.py プロジェクト: zenith110/canvasapi
    def get_feature_flag(self, feature, **kwargs):
        """
        Returns the feature flag that applies to the given user.

        :calls: `GET /api/v1/users/:user_id/features/flags/:feature \
        <https://canvas.instructure.com/doc/api/feature_flags.html#method.feature_flags.show>`_

        :param feature: The feature object or name of the feature to retrieve.
        :type feature: :class:`canvasapi.feature.Feature` or str

        :rtype: :class:`canvasapi.feature.FeatureFlag`
        """
        feature_name = obj_or_str(feature, "name", (Feature,))

        response = self._requester.request(
            "GET",
            "users/{}/features/flags/{}".format(self.id, feature_name),
            _kwargs=combine_kwargs(**kwargs),
        )
        return FeatureFlag(self._requester, response.json())
コード例 #8
0
 def test_obj_or_str_invalid_obj_type(self, m):
     with self.assertRaises(TypeError):
         obj_or_str("user", "name", (User,))