26 lines
684 B
Python
26 lines
684 B
Python
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,
|
|
)
|