:py:mod:`oioioi.problems.problem_site` ====================================== .. py:module:: oioioi.problems.problem_site Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: oioioi.problems.problem_site.problem_site_tab oioioi.problems.problem_site.problem_site_statement_zip_view oioioi.problems.problem_site.check_for_statement oioioi.problems.problem_site.problem_site_statement oioioi.problems.problem_site.check_for_downloads oioioi.problems.problem_site.problem_site_files oioioi.problems.problem_site.problem_site_submissions oioioi.problems.problem_site.problem_site_submit oioioi.problems.problem_site.problem_site_secret_key oioioi.problems.problem_site.problem_site_settings oioioi.problems.problem_site.problem_site_add_to_contest oioioi.problems.problem_site.problem_site_replace_statement oioioi.problems.problem_site._prepare_changed_package oioioi.problems.problem_site._problem_can_be_reuploaded oioioi.problems.problem_site.problem_site_package_download_file Attributes ~~~~~~~~~~ .. autoapisummary:: oioioi.problems.problem_site.problem_site_tab_registry oioioi.problems.problem_site.logger .. py:data:: problem_site_tab_registry .. py:data:: logger .. py:function:: problem_site_tab(title, key, order=sys.maxsize, condition=None) A decorator that for each decorated function adds a corresponding tab to the global problem site that uses the function to generate its contents. The decorated function should be somewhat similar to a view. It should take as its arguments a request and a problem, and return either a HttpResponseRedirect, a TemplateResponse or rendered html. :param title: the tab's title, will be shown on the site :param key: will be used as a GET parameter to indicate the active tab :param order: value determining the order of tabs :param condition: a function receiving a request and problem that returns if the tab should be accessible for this request .. py:function:: problem_site_statement_zip_view(request, site_key, path) .. py:function:: check_for_statement(request, problem) Function checking if given problem has a ProblemStatement. .. py:function:: problem_site_statement(request, problem) .. py:function:: check_for_downloads(request, problem) Function checking if given problem has any downloadables. .. py:function:: problem_site_files(request, problem) .. py:function:: problem_site_submissions(request, problem) .. py:function:: problem_site_submit(request, problem) .. py:function:: problem_site_secret_key(request, problem) .. py:function:: problem_site_settings(request, problem) .. py:function:: problem_site_add_to_contest(request, problem) .. py:function:: problem_site_replace_statement(request, problem) .. py:function:: _prepare_changed_package(request, form, archive, package_name) .. py:function:: _problem_can_be_reuploaded(request, problem) .. py:function:: problem_site_package_download_file(request, problem)