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