From 698c01ac07b36ea2140ff745008ab0d0f91ed78d Mon Sep 17 00:00:00 2001 From: Tykayn Date: Wed, 3 Mar 2021 16:34:29 +0100 Subject: [PATCH] route to convert xml files --- app.js | 1 + routes/index.js | 41 ++++++++++++++++++++++++++++------------- views/index.jade | 3 ++- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/app.js b/app.js index b7e22a9..4fc3784 100644 --- a/app.js +++ b/app.js @@ -44,6 +44,7 @@ const port = 3300 app.listen(port, () => { console.log(`gtg2json app listening at http://localhost:${port}`) + console.log(`convert your Getting things gnomes files at http://localhost:${port}/xml`) }) module.exports = app; diff --git a/routes/index.js b/routes/index.js index 9842450..117b849 100644 --- a/routes/index.js +++ b/routes/index.js @@ -8,6 +8,7 @@ var router = express.Router(); let convertFiles = true; // let convertFiles = false; let computeDataOnExtract = true; +// let computeDataOnExtract = false; let jsonAllData = { tasks : {}, @@ -19,20 +20,32 @@ let jsonAllData = { /** * obtenir la liste de tags que l'on a entré */ +router.get('/xml', async function (req, res, next) { + fs.stat('sources/gtg_tasks.xml', function(err, stat) { + if(err == null) { + console.log('File sources/gtg_tasks.xml exists'); + } else if(err.code === 'ENOENT') { + // file does not exist + res.send('le fichier sources/gtg_tasks.xml est introuvable. Impossible d en extraire des infos. Importez d abord les fichiers de données xml de Getting Things Gnome dans le dossier sources') + } else { + console.log('Some other error: ', err.code); + } + }); + + convertOneXmlToJson('gtg_tasks', res) + convertOneXmlToJson('tags', res) + convertOneXmlToJson('projects', res) + console.log('success conversion xml') + res.redirect('/') +}) router.get('/', async function (req, res, next) { - if (convertFiles) { - - convertOneXmlToJson('gtg_tasks', res) - convertOneXmlToJson('tags', res) - convertOneXmlToJson('projects', res) - } else { - console.log('================== conversion de fichiers désactivée dans index.js ================== ') - } - // récupérer le contenu des json jsonAllData.tags = require('../sources/tags_gtg.json') jsonAllData.tasks = require('../sources/gtg_tasks_gtg.json') + if(!jsonAllData.tasks){ + res.redirect('/xml') + } if (computeDataOnExtract) { @@ -47,6 +60,7 @@ router.get('/', async function (req, res, next) { title: "Conversion de GTG tâches", json : jsonAllData, markdown : markdownExportData, + weeklyDevReport, getPercent, computeBgColorOnProportionOfOpenTasks, getPercentOfOpenTasks @@ -210,17 +224,18 @@ function computeBgColorOnProportionOfOpenTasks(someProportionNumber) { } let datenow = new Date(); let markdownExportData = '' +let weeklyDevReport = '' function exportToMarkdown(res) { markdownExportData = `# Export de Tâches GTG \n date: ` + datenow.toLocaleString() // fichier de rapport des tâches fermées durant les 7 derniers jours - markdownExportData += `\n# Rapport hebdomadaire de dev `; - markdownExportData += `\n## ${jsonAllData.stats.listDevWeeklyClosed.length} ont été fermées `; + weeklyDevReport += `\n# Rapport hebdomadaire de dev `; + weeklyDevReport += `\r\n## ${jsonAllData.stats.listDevWeeklyClosed.length} ont été fermées `; jsonAllData.stats.listDevWeeklyClosed.map(elem => { - markdownExportData += `\n * ${elem.title}`; + weeklyDevReport += `\n* ${elem.title}`; }) - markdownExportData += `\n `; + markdownExportData += `\n ${weeklyDevReport}`; markdownExportData += `\n---`; markdownExportData += `\n `; markdownExportData += `\n# Rapport des tâches durant les 7 derniers jours `; diff --git a/views/index.jade b/views/index.jade index d0636dc..0a86b29 100644 --- a/views/index.jade +++ b/views/index.jade @@ -13,7 +13,8 @@ block content li #{json.stats.listClosedWeekly.length} fermées cette semaine li #{json.stats.listClosedMonthly.length} fermées ce mois-ci section.markdown - article(language="md")= markdown + h2 Rapport de dev de la semaine + article(language="md")= weeklyDevReport section.tags h2 #{json.tags.tagstore.tag.length} Tags p maximum de #{json.stats.maxTasksCountPerTag} tâches pour un tag.