Skip to content
Snippets Groups Projects
utils.py 1.53 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -*- coding: utf-8 -*-
    """
    
    Utility functions for LTI Consumer block
    
    from django.conf import settings
    
    
    
    def _(text):
        """
    
        Make '_' a no-op so we can scrape strings
    
        """
        return text
    
    def lti_1p3_enabled():
        """
        Returns `true` if LTI 1.3 integration is enabled for instance.
        """
        return settings.FEATURES.get('LTI_1P3_ENABLED', False) is True
    
    
    
    def get_lms_base():
        """
        Returns LMS base url to be used as issuer on OAuth2 flows
    
        TODO: This needs to be improved and account for Open edX sites and
        organizations.
        One possible improvement is to use `contentstore.get_lms_link_for_item`
        and strip the base domain name.
        """
        return settings.LMS_ROOT_URL
    
    
    def get_lms_lti_keyset_link(location):
        """
        Returns an LMS link to LTI public keyset endpoint
    
        :param location: the location of the block
        """
        return u"{lms_base}/api/lti_consumer/v1/public_keysets/{location}".format(
            lms_base=get_lms_base(),
    
    usamasadiq's avatar
    usamasadiq committed
            location=str(location),
    
        )
    
    
    def get_lms_lti_launch_link():
        """
        Returns an LMS link to LTI Launch endpoint
    
        :param location: the location of the block
        """
        return u"{lms_base}/api/lti_consumer/v1/launch/".format(
            lms_base=get_lms_base(),
        )
    
    
    
    def get_lms_lti_access_token_link(location):
        """
        Returns an LMS link to LTI Launch endpoint
    
        :param location: the location of the block
        """
        return u"{lms_base}/api/lti_consumer/v1/token/{location}".format(
            lms_base=get_lms_base(),
    
    usamasadiq's avatar
    usamasadiq committed
            location=str(location),