Closed mjuez closed 7 years ago
He añadido un botón a la vista de un repositorio para descargar el fichero CSV. Un ejemplo de CSV se puede descargar desde aquí. @clopezno, puedes descargarlo para ver si te sirve para las tareas de minería o necesitas algun campo más u otro formato diferente. Falta el campo de lenguaje por que tenía una errata en las entidades y lo llamé languge en lugar de language, la próxima vez que traiga los datos de los repositorios se guardará el lenguaje también.
Cómo detalle técnico, indicar que la solución elegida ha sido hacer streaming de los datos obtenidos de la base de datos paginados para evitar generar ficheros temporales y/o almacenar todos los datos CSV en memoria en el servidor. La desventaja de esta estrategia es que el navegador no conoce el tamaño total del fichero y el cliente no puede saber cuando va a finalizar la descarga. En nuestro caso cada página de 100 resultados es un chunk.
@mjuez El formato me parece correcto, lo he exportado con LibreOffice y lo ha reconociddo. Si que me gustaría disponer de algun dato más de la PullRequest al final del fichero csv. En concreto de estos
state: string,
locked: boolean,
created_at: Date,
updated_at: Date,
closed_at: Date,
merged: boolean,
mergeable: boolean,
comments: number,
reviews: number,
review_comments: number,
commits: number,
additions: number,
deletions: number,
changed_files: number
La última funcionalidad a añadir es la exportación de todas las revisiones de un repositorio en formato CSV para facilitar su uso externo, por ejemplo, en tareas de minería de datos. Cada fila del fichero CSV se debe corresponder con una revisión y tener el siguiente formato:
La descarga del CSV se debe poder hacer dede un botón adicional en la vista de un repositorio.