-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ya se muestran las materias con codigo alfanumerico (#20)
* Update materias.json con materias 2024 Ing. Informática Añadidos las materias que me aparecen a mi (mi carrera es Ingeniería en Informática) en https://guaraniautogestion.fi.uba.ar/g3w/oferta_comisiones. Añadir las de cada uno es facil, solamente hay que correr este script que hice en `inspeccionar -> consola`: const periodos = document.querySelectorAll("[periodo]"); const data = new Map() periodos.forEach(periodo => { const materias = periodo.querySelectorAll("[actividad]") materias.forEach(materia => { const indiceParentesis = materia.getAttribute("actividad").indexOf("("); const materiaId = materia.getAttribute("actividad").slice(indiceParentesis + 1, -1); const materiaName = materia.getAttribute("actividad").slice(0, indiceParentesis).trim(); data.set(materiaId, materiaName); }) }) console.log(Object.fromEntries(data)) Luego, solo hay que hacer click derecho -> "Copiar Objeto" * Aparecen los nombres de todas las materias (incluidas las de los codigos alfanumericos) en la lista de materias * cambiado reponames de tipo de dato Set a Array * Ahora se muestran los repositorios de las materias con codigo alfanumerico * formateo de codigo trabajado con prettier * correccion aparecían los repositorios de materias nuevas al estar el filtro fiubaOnly * Aparecen los nombres de todas las materias (incluidas las de los codigos alfanumericos) en la lista de materias * cambiado reponames de tipo de dato Set a Array * Ahora se muestran los repositorios de las materias con codigo alfanumerico * formateo de codigo trabajado con prettier * correccion aparecían los repositorios de materias nuevas al estar el filtro fiubaOnly * Añadida carpeta guia para subir materias 1. Se "capitalizaron" los palabras de los nombres de las materias (primera letra de cada palabra en mayúscula) 2. Cree una carpeta que tiene un README.md con los pasos a seguir para obtener las materias y actualizar el json (decime si esta bien o si está de más y lo saco) * formateo del json por separado * obtener-subir-materias afuera del src * actualizado README del obtener-subir-materias
- Loading branch information
1 parent
eae1bf4
commit 14d2726
Showing
9 changed files
with
239 additions
and
113 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Como puedo obtener y subir las materias de mi carrera | ||
|
||
> [!TIP] | ||
> Si ya tenes las materias que queres subir anda a la seccion 2 | ||
> [!NOTE] | ||
> Como el SIU Guaraní no permite obtener las materias con sus respectivos códigos públicamente, este proceso se tiene que hacer iniciando sesión en el SIU Guarani de FIUBA, ir a oferta de comisiones, agarrar todas las materias con sus códigos y subirlos manualmente. | ||
## Obtener códigos y materias de tu carrera | ||
|
||
1. Dirigirte a oferta_comisiones del SIU Guarani de FIUBA (https://guaraniautogestion.fi.uba.ar/g3w/oferta_comisiones) | ||
2. Abrir la consola del inspeccionar (Ctrl + Mayus + i) | ||
3. Copiar el contenido del script "obtenerMateriasdelSiuOfertaComisiones.js" (se encuentra en esta carpeta) | ||
4. Pegarlo en la consola del inspeccionar y ejecutarlo (dependiendo del navegador es presionar Enter o hacer click en un boton) | ||
5. Hacer click derecho sobre el arreglo mostrado -> "Copy Object" | ||
|
||
## Actualizar json | ||
|
||
1. Una vez que tenemos las materias como un objeto de estructura `{ <codigo>: <nombre> }`, sobreescribimos el archivo "materias-a-subir.json" (se encuentra en esta carpeta) | ||
2. Ejecutar el archivo "actualizar_json.py" (una manera sencilla es con el boton de play si estas usando Visual Code) | ||
|
||
## Formatear json | ||
|
||
1. Ejecutar el archivo "formatear_json.js" (una manera sencilla es con el boton de play si estas usando Visual Code) | ||
|
||
## Guardar y subir cambios | ||
|
||
1. `git add src/data/materias.json` | ||
2. `git commit -m "materias de la carrera <carrera> añadidas"` | ||
3. `git push origin master` | ||
4. Hacer pull request (desde github) a [fDelMazo/FIUBA-Repos](https://github.com/FdelMazo/FIUBA-Repos) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import os | ||
|
||
# Obtener la ruta absoluta del directorio actual del script | ||
script_dir = os.path.dirname(os.path.abspath(__file__)) | ||
|
||
# Construir las rutas absolutas | ||
materias_a_subir_path = os.path.join(script_dir, "materias-a-subir.json") | ||
materias_path = os.path.abspath(os.path.join(script_dir, "../src/data/materias.json")) | ||
|
||
import json | ||
|
||
with ( | ||
open(materias_a_subir_path, "r", encoding='utf-8') as archivo_materias_a_subir, | ||
open(materias_path, "r", encoding='utf-8') as archivo_materias | ||
): | ||
materias_a_subir = json.load(archivo_materias_a_subir) | ||
materias = json.load(archivo_materias) | ||
for key, value in materias_a_subir.items(): | ||
materias[key] = value | ||
|
||
with open(materias_path, "w", encoding='utf-8') as archivo_materias: | ||
json.dump(materias, archivo_materias, ensure_ascii=False, indent=2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import os | ||
|
||
# Obtener la ruta absoluta del directorio actual del script | ||
script_dir = os.path.dirname(os.path.abspath(__file__)) | ||
|
||
# Construir las rutas absolutas | ||
materias_a_subir_path = os.path.join(script_dir, "materias-a-subir.json") | ||
materias_path = os.path.abspath(os.path.join(script_dir, "../src/data/materias.json")) | ||
|
||
import json | ||
|
||
def format_name(texto: str): | ||
words = texto.split() | ||
palabras_vacias = ['y','para', 'de', 'del', 'el', 'los', 'la', 'las', 'al', 'su', 'sus', 'en', 'a', 'por', 'no', 'e', 'con'] | ||
nivel = ['I','II','III','IV','V'] | ||
variantes = ['A','B','C'] | ||
excepciones = ['AT', 'SEP'] | ||
|
||
|
||
for index, word in enumerate(words): | ||
if not word in excepciones: | ||
if index == len(words)-1 and word.upper() in variantes: | ||
words[index] = word.upper() | ||
elif word.upper() in nivel: | ||
words[index] = word.upper() | ||
elif word.lower() in palabras_vacias: | ||
words[index] = word.lower() | ||
else: | ||
words[index] = word.capitalize() | ||
|
||
return ' '.join(words) | ||
|
||
with open(materias_path, "r", encoding='utf-8') as archivo_materias: | ||
materias = json.load(archivo_materias) | ||
for key, value in materias.items(): | ||
materias[key] = format_name(value) | ||
|
||
with open(materias_path, "w", encoding='utf-8') as archivo_materias: | ||
json.dump(materias, archivo_materias, ensure_ascii=False, indent=2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
{ | ||
"CB002": "ÁLGEBRA LINEAL", | ||
"CB100": "ALGORITMOS Y ESTRUCTURAS DE DATOS", | ||
"CB001": "ANÁLISIS MATEMÁTICO II", | ||
"CB005": "ANÁLISIS MATEMÁTICO III", | ||
"TA061": "APRENDIZAJE AUTOMÁTICO", | ||
"TB034": "ARQUITECTURA DE SOFTWARE", | ||
"TA044": "BASE DE DATOS", | ||
"TA047": "CIENCIA DE DATOS", | ||
"TB032": "COMPUTACIÓN CUÁNTICA", | ||
"TC018": "EMPRESAS DE BASE TECNOLÓGICA I", | ||
"TC019": "EMPRESAS DE BASE TECNOLÓGICA II", | ||
"CB024": "FÍSICA PARA INFORMÁTICA", | ||
"TB021": "FUNDAMENTOS DE PROGRAMACIÓN", | ||
"TC017": "GESTIÓN DEL DESARROLLO DE SISTEMAS INFORMÁTICOS", | ||
"TA046": "INGENIERÍA DE SOFTWARE I", | ||
"TA049": "INGENIERÍA DE SOFTWARE II", | ||
"TB022": "INTRODUCCIÓN AL DESARROLLO DE SOFTWARE", | ||
"CB051": "MODELACIÓN NUMÉRICA", | ||
"TB023": "ORGANIZACIÓN DEL COMPUTADOR", | ||
"TB025": "PARADIGMAS DE PROGRAMACIÓN", | ||
"CB003": "PROBABILIDAD Y ESTADÍSTICA", | ||
"TB026": "PROGRAMACIÓN CONCURRENTE", | ||
"TA048": "REDES", | ||
"TB028": "SIMULACIÓN", | ||
"TA050": "SISTEMAS DISTRIBUIDOS I", | ||
"TA043": "SISTEMAS OPERATIVOS", | ||
"TA045": "TALLER DE PROGRAMACIÓN", | ||
"TB024": "TEORÍA DE ALGORITMOS", | ||
"TA053": "TRABAJO PROFESIONAL DE INGENIERÍA INFORMÁTICA", | ||
"TA062": "APRENDIZAJE PROFUNDO" | ||
} |
13 changes: 13 additions & 0 deletions
13
obtener-subir-materias/obtenerMateriasdelSiuOfertaComisiones.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
const periodos = document.querySelectorAll("[periodo]"); | ||
const data = new Map() | ||
|
||
periodos.forEach(periodo => { | ||
const materias = periodo.querySelectorAll("[actividad]") | ||
materias.forEach(materia => { | ||
const indiceParentesis = materia.getAttribute("actividad").indexOf("("); | ||
const materiaId = materia.getAttribute("actividad").slice(indiceParentesis + 1, -1); | ||
const materiaName = materia.getAttribute("actividad").slice(0, indiceParentesis).trim(); | ||
data.set(materiaId, materiaName); | ||
}) | ||
}) | ||
console.log(Object.fromEntries(data)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.