sisoputnfrba / so-commons-library

TADs de uso comun en aplicaciones desarrolladas en C
http://sisoputnfrba.github.io/so-commons-library/
GNU General Public License v3.0
106 stars 174 forks source link

Agregar función que remueva una key los archivos de configuración #93

Closed cortigeronimo closed 6 years ago

cortigeronimo commented 6 years ago

Debería existir una función que remueva una key.

mgarciaisaia commented 6 years ago

👋 ¿De qué TAD estamos hablando, che?

Contanos un poco más, a ver si estamos todos más o menos de acuerdo, y hasta quizá la implementamos.

BTW, ¿te animás a preparar un Pull Request para implementarlo vos?

cortigeronimo commented 6 years ago

En el trabajo práctico actual, necesitamos eliminar una key con su correspondiente valor, en un archivo de configuración. Tenemos un archivo nodos.bin que registra la información de cada nodo que se conecta con filesystem (como por ejemplo su tamaño total, los bloques disponibles/libres). El tema es que si por alguna razón, alguno de estos nodos se desconecta, se deberían borrar esas keys. Particularmente en este ejemplo, podría evitarse quizás no eliminar la key, y trabajarlo con algún valor centinela, pero no es muy lindo que digamos. Lo que hice fue hacer una función que recibe la ruta del archivo y la key a borrar, lo abre y va pasando la información a otro archivo, excepto la linea de la key que quiero borrar. Una vez terminado, elimino el archivo original (el que contenía la key) y renombro el archivo nuevo (el que no tiene la key). Seguramente se puede hacer mejor, estoy seguro. El tema es que la función que hice no puede usarse cuando ya está creada la instancia de la config. Entonces lo que hago es, una vez terminado de actualizar el archivo (setear keys, agregar otras, etc), guardo y destruyo la instancia, y luego ejecuto la función que hice. Igualmente lo hable hoy con Gastón y me dijo que la iba a implementar.

tferraro commented 6 years ago

La idea tiene mi :+1: , no recuerdo si lo hablé con @gerosamore o fue con otro chico, pero dado que tenemos una para agregar keys, porque no una para sacar? (A parte que hubiera venido al re pelo para este tp, pero eso es ya otro tema.

gastonprieto commented 6 years ago

Por mi esta ok, justo hoy le dije que me parecia bien. Si bien el config empezo siendo una entidad inmutable, creo que últimamente le estuvimos agregando operaciones para hacer que cambie, así que me parece bien.

FernandoVelcic commented 6 years ago

Aca dejo un pull request de esta funcionalidad #96