python >= 3.8
Crear un virtualenv, activarlo e instalar las librerías necesarias:
pip install -r requirements.txt
En primer lugar, es importante especificar el formato que deben seguir los archivos para usar la herramienta:
En el mismo directorio dónde se correrá el código, deben estar los testcases en el siguiente formato de directorio:
uploader.py
files/
part_1/
1/
input.txt
main.py
...
2/
input.txt
main.py
...
...
50/
input.txt
main.py
...
...
En su version preliminar, los siguientes pasos son necesarios
-
Es necesario eliminar casi todos los testcases de lo(s) ejercicio(s) a subir. Sólo deben quedar el testcase Público #1 y #Secreto #1, los cuales deben estar correctamente configurados.
-
Crear un archivo llamado
.envque tenga el mismo formato que example.env, en el cual deberán poner sus credenciales de mimir. Puden ignorar el resto hasta el siguiente paso. -
Copiar los links de los testcases Público #1 y #Secreto #1, y pegarlos en el
.envbajo las variablesURL_PART_1_PUBLICyURL_PART_1_SECRETrespectivamente. -
Especificar qué archivos se van a subir para la parte respectiva, esto se hace bajo la variable
FILES_PART_1, con los nombres de los archivos separados por;. i.e.main.py;otro_archivo.txt.
nota: input.txt se subirá por default, y es necesario que esté en el directorio. En caso de existir un main.py, este quedará como el archivo a ejecutar en el testcase, reemplazando al default (code.py)
En caso de tener solo una parte, pueden omitir el resto de example.env. En caso de subir mas partes, deben especificar los links y archivos de cada parte.
Es importante destacar que el nombre y enumeracion de las partes no tiene ninguna relacion con los de Mimir directamente, y lo que manda es a qué testcases estan apuntando los links, y los archivos bajo el directorio correspondiente de cada parte.
-
Es necesario que hayan (a lo menos) 50 testcases bajo la parte a subir. Los primeros 25 se subirán en modo público, y los siguientes 25 en modo secreto.
-
Los ajustes y configuraciones de los testcases dependerán del testcase entregado a través del link. Es decir, si es que el testcase Secreto #1 pasado no tiene las configuraciones necesarias para ser secreto, los 25 secretos generados estarán igual de mal.
-
El uploader sube una parte por ejecución, recibiendo como argumento la parte a subir. Por eso se entrega run.ps1` que es un hardcodeo para subir varias partes con una ejecución de la línea de comandos (en powershell).
-
Cuando se le pasa como argumento una parte, el código usará ese numero para determinar el directorio de los testcases y las variables del
.enva utilizar. i.e. Si se ejecutapython uploader.py 3, se utilizarán los archivos bajofiles/part_3/y las variablesFILES_PART_3,URL_PART_3_PUBLICyURL_PART_3_SECRET.
| Nombre | Github | Correo |
|---|---|---|
| Ignacio Bascuñán ⭐ | @nachobascar | [email protected] |
| Alfonso Irarrázaval | @auirarrazaval | [email protected] |
| Ignacio Porte | @IgnacioPorte | [email protected] |
Made with ❤️ 4 IIC1103