Pequeña aplicación web para que los alumnos hagan las entregas de TPs.
-
Verificar que los campos
cuatri
yspreadsheet_id
están actualizados en entregas.yml. -
Copiar el archivo .secrets.template a .secrets y completarlo:
OAUTH_*
son nuestras credenciales de Google para enviar mail.RECAPTCHA_*
son credenciales de reCAPTCHA.
-
Habilitar las entregas apropiadas en entregas.yml.
-
Crear el ambiente virtual e instalar los requerimientos:
$ pipenv install --ignore-pipfile
-
Es suficiente con correr Flask desde el entorno creado por pipenv:
$ pipenv shell $ FLASK_ENV=development flask run
O se puede usar
pipenv run
si no se desea modificar el shell:$ FLASK_ENV=development pipenv run flask run
Para instalar en el server, usar el comando pipenv sync
con una variable de entorno que indique que el virtualenv se debe crear en una ubicación predecible, .venv (por omisión, pipenv usa un hash digest de las dependencias para nombrar el entorno):
$ PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
El fichero de configuración de uWSGI especificará entonces:
virtualenv = %d/.venv
-
Para habilitar una entrega:
- Abrir
entregas.yml
en/srv/algo2/entregas/repo
- Mover la entrega de manera que quede dentro del campo entregas
- Reiniciar la app con
touch entregas2.ini
en/srv/algo2/entregas
- Abrir
Las dependencias directas de la aplicación se listan en el archivo Pipfile, junto con la versión a usar. Se pueden actualizar todas las bibliotecas a su última versión compatible con pipenv update
.
Si se desea actualizar alguna dependencia directa a una versión superior (p.ej., urlfetch), se puede hacer pipenv install "urlfetch==1.2.*"
o similar.