Skip to content

Agregar un nuevo cuatrimestre a los resultados

edu edited this page Dec 22, 2023 · 8 revisions

Descargar los horarios del cuatrimetres

Los horarios que se utilizan son los que genera Fede del Mazo para Fiuba-Plan. Los mismos están en formato .js y hay que pasarlos a formato .json(para eso se puede copiar el contenido del .js en una consola online de javascript y utilizar JSON.stringify(objeto);).

Convertir los json de Del Mazo a los que utiliza Dolly

Para esto se deben colocar los archivos carreras.json y horarios.json en el mismo directorio que el script conversion_horarios.py(se encuentra en la raiz de Dolly) y ejecutarlo. El script genera un archivo llamado Horarios_20212C.json (para el caso del 2do cuatri del 2021), renombrar a Horario_2Q2021.json y mover a la carpeta data.

Modificar archivos de Dolly

Modificar los siguientes archivos:

  • analitics/Analisis.py:
    • La variable cuatrimestres contiene la listas de los cuatrimestres para filtrar. Agregar el cuatri nuevo al final. (Aproximadamente linea 52)
    • Al final del archivo se encuentra el llamado a la función analizar_cuatri. Cambiar la ruta del archivo por la correspondiente al cuatrimestre que se quiere agregar.
  • resultados.html:
    • Hay una alerta que avisa a los visitantes 'Cursos ordenados según <Cuatrimestre>'. Cambiar el cuatrimestre por el que se quiere agregar. (Aproximadamente linea 112)

8-12-2022: Actualizar cuatrimestre: docker exec -it contaniner-que-corre-el-cron analitics/analisis.sh

Luego borrar el cache del navegador antes de entrar a dolly

DUMMIES - HOWTO

  1. Clonar repo
git clone git@github.com:lugfi/dolly.git
  1. Descargar datos
wget -qO - https://raw.githubusercontent.com/FdelMazo/FIUBA-Plan/master/src/data/horarios.js | sed '1 s/export const data = //' > horarios.json
wget -qO - https://raw.githubusercontent.com/FdelMazo/FIUBA-Plan/master/src/data/carreras.js | node -e "const fs = require('fs'); fs.writeFileSync('carreras.json', JSON.stringify(eval(fs.readFileSync(0, 'utf-8').replace(/^export const carreras = |;/g, '')), null, 2));"
  1. Generar horarios
python3 conversion_horarios.py
  1. Cambiar nombre de archivo Horario_20232C.json Horario_2Q2023.json
file=$(ls -1 *.json 2>/dev/null | grep -E 'Horarios_[0-9]+C[0-9]+\.json' | head -n 1) && new_name=$(echo "$file" | sed -E 's/Horarios_([0-9]+)C([0-9]+)\.json/Horarios_\2Q\1.json/') && mv "$file" "$new_name" && mv "$new_name" data/
  1. Agregar al archivo de analitics
cuatrimestre=$(echo "$new_name" | sed -E 's/Horarios_([0-9]+)Q([0-9]+)\.json/\1Q\2/')
sed -i.bak "\|cuatrimestres = \[|s/\(.*\),\$/\1, '$cuatrimestre',/" analitics/Analisis.py
  1. Cambiar la ruta del archivo por la correspondiente al cuatrimestre que se quiere agregar.
sed "s#Horarios_2Q2022\.json#$new_name#g" analitics/Analisis.py > temp_file && mv temp_file analitics/Analisis.py
  1. Cambiar la alerta de la página principal
sed "s/\(según \).*ALGUNOS/según $cuatrimestre (ALGUNOS/g" resultados.html > temp_file && mv temp_file resultados.html
  1. Correr analisis
mkdir -p analitics/cursos
cd analitics && python3 Analisis.py
  1. Agregar nuevo cuatrimestre al dropdown https://github.com/lugfi/dolly/blob/master/js/config.js#L23
Config = {
  //resultsURL: "http://dollyfiuba.com/gente.txt", //deprecated
  submitURL: "test.php",
  dataPath: "./data/",
  cursosPath: "./analitics/cursos/",
  equivalencyData: "equivalencias.json",
  json_list: [  // File names: Horarios_REF.json
    {name: "2º Cuat 2022", ref: "2Q2022", virtual: false},
    {name: "1º Cuat 2022", ref: "1Q2022", virtual: false},
  ...
  ],
  CSVDelim: ","
}
  1. Pushear nuevo Cuatrimestre a GIT
git add data/$new_name resultados.html js/config.js
git commit "feat(dollydb): nuevo cuatrimestre"
git push origin master

WITHIN DOLLY SERVER

sudo su
cd dolly #dolly git folder
git pull

execute hasta paso 5 (lo demas se hace fuera de dolly server)