Source code for oioioi.programs.problem_instance_utils

from django.conf import settings


[docs]def get_allowed_languages_dict(problem_instance): lang_dict = getattr(settings, 'SUBMITTABLE_EXTENSIONS', {}) allowed_langs = ( problem_instance.problem.controller.get_allowed_languages_for_problem( problem_instance.problem ) ) contest_langs = problem_instance.controller.get_allowed_languages() return { lang: lang_dict[lang] for lang in lang_dict if lang in allowed_langs and lang in contest_langs }
[docs]def get_allowed_languages_extensions(problem_instance): lang_exts = list(get_allowed_languages_dict(problem_instance).values()) return [ext for lang in lang_exts for ext in lang]
[docs]def get_language_by_extension(problem_instance, ext): for lang, extension_list in get_allowed_languages_dict(problem_instance).items(): if ext in extension_list: return lang return None