Отправка бинарных файлов

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:
Отправка бинарных файлов

Post by vk » 16 October 2010, 04:35

Здравствуйте!
При некоторых отправке файлов в "output-only" задачах система ругается на попытку отправки бинарного файла. А каким образом тогда можно отправлять, например, картинки?
Была идея, чтобы школьники присылали сканированные ответы на задачи или файлы с рисунками-пояснениями к задачам...

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Отправка бинарных файлов

Post by cher » 16 October 2010, 20:40

Необходимо у задачи установить флаг binary_input.

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Отправка бинарных файлов

Post by dk » 16 October 2010, 22:44

Угу, все правильно. Я так собираю у школьников и файлы-картинки, и PDF-файлы, и ODS-таблицы. В общем, если есть задание, и результатом его выполнения является файл, то я очень часто использую именно ejudge.

Если будете собирать картинки, сразу же увеличивайте параметр max_run_size для задачи - 64KB, наверное, маловато будет.

А еще я придумал для сдачи картинок или иных файлов использовать чекеры в виде простых bash-скриптов. Они просто проверяют формат файла. Например, так:

Code: Select all

#!/bin/bash                                                                                                                   
if file $2 | grep -q "PNG image"                                                                                              
then
        exit 0
else
        echo "Файл должен иметь формат PNG"
        exit 4
fi
И тогда в этой задаче можно сдавать только файлы в формате PNG.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Отправка бинарных файлов

Post by cher » 17 October 2010, 22:08

Можно использовать параметр enable_language в разделе описания задачи, например:

Code: Select all

type = "output-only"
binary
enable_language = "image/png"
enable_language = "image/jpeg"
будут приниматься только изображения в форматах PNG или JPEG

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: Отправка бинарных файлов

Post by vk » 18 October 2010, 21:00

Огромное спасибо!
Будем пробовать :-)

Post Reply