Files
edx-platform/lms/djangoapps/badges/utils.py
2021-02-25 18:15:27 +05:00

49 lines
1.2 KiB
Python

"""
Utility functions used by the badging app.
"""
from django.conf import settings
def site_prefix():
"""
Get the prefix for the site URL-- protocol and server name.
"""
scheme = "https" if settings.HTTPS == "on" else "http"
return f'{scheme}://{settings.SITE_NAME}'
def requires_badges_enabled(function):
"""
Decorator that bails a function out early if badges aren't enabled.
"""
def wrapped(*args, **kwargs):
"""
Wrapped function which bails out early if bagdes aren't enabled.
"""
if not badges_enabled():
return
return function(*args, **kwargs)
return wrapped
def badges_enabled():
"""
returns a boolean indicating whether or not openbadges are enabled.
"""
return settings.FEATURES.get('ENABLE_OPENBADGES', False)
def deserialize_count_specs(text):
"""
Takes a string in the format of:
int,course_key
int,course_key
And returns a dictionary with the keys as the numbers and the values as the course keys.
"""
specs = text.splitlines()
specs = [line.split(',') for line in specs if line.strip()]
return {int(num): slug.strip().lower() for num, slug in specs}