import os from django.db import models from dmoj import settings from django.utils.translation import gettext_lazy as _ __all__ = [ "TestFormatterModel", ] def test_formatter_path(test_formatter, filename): tail = filename.split(".")[-1] head = filename.split(".")[0] if str(tail).lower() != "zip": raise Exception("400: Only ZIP files are supported") new_filename = f"{head}.{tail}" return os.path.join(settings.DMOJ_TEST_FORMATTER_ROOT, new_filename) class TestFormatterModel(models.Model): file = models.FileField( verbose_name=_("testcase file"), null=True, blank=True, upload_to=test_formatter_path, )