From 2598c7f8fc1b5e2b053cc2670b6bf403481562b6 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Tue, 2 Mar 2021 12:26:19 +0100 Subject: [PATCH] convert on run --- README.md | 8 ++- output/export_tags.md | 121 +++++++++++++++++++++++++++++++++++++++++- routes/index.js | 40 +++++++++++--- 3 files changed, 160 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8845536..f060a18 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,14 @@ puis naviguer sur https://localhost:3300 ## Comment ça marche? -Mettre les gtg_tasks.xml +Mettre les gtg_tasks.xml et tags.xml dans le dossier source. +Lancer le serveur node, +aller sur +http://localhost:3300 -Ce serveur va lire un fichier dans le dossier **source**, celui des tâches de GTG, puis en faire un json, et en sortir des statistiques dans une page web. + +Ce serveur va lire un fichier dans le dossier **source**, celui des tâches de GTG, puis en faire un json, et en sortir des statistiques dans une page web ainsi qu'un fichier markdown dans le dossier **output**. ## sources diff --git a/output/export_tags.md b/output/export_tags.md index 8d50945..dfd1b8b 100644 --- a/output/export_tags.md +++ b/output/export_tags.md @@ -1,11 +1,130 @@ # Export de Tâches GTG - date: 02/03/2021 à 12:08:24 + date: 02/03/2021 à 12:24:30 +# Rapport hebdomadaire de dev +## 8 ont été fermées + * node + * agenda du libre + * faire une page qui donne les infos d'un commerce via addok + * mettre un store vuex + * @cil faire la page de chiffrement et déchiffrement sur @framadate + * tester le speech to text de mozilla common voice + * * trouver où sont stockées les données de GTG + * * les ajouter au backup borg + +--- + # Rapport des tâches durant les 7 derniers jours ## 29 ont été fermées + * Boulot + * node + * voix du nucléaire + * contacter une boite pour faire un devis @mail ou @tel + * rdv conf jitsi avec Myrto + * agenda du libre + * faire une page qui donne les infos d'un commerce via addok + * ménage dans nextcloud, dédupliquer et ne garder que les textes, les assos, et osm @spaceship + * @nas décharger le dossier home vers le bazar de @spaceship @backup @archives + * enlever les dossiers de backup de Drive + * faire un borg @backup sur le @nas + * mettre un store vuex + * rdv @tel déchetterie pour les cartons + * copier les dossiers de @backup de prod de @fatland dans le nas + * copier les musiques du NAS dans spaceship @backup + * @cil faire la page de chiffrement et déchiffrement sur @framadate + * tester le speech to text de mozilla common voice + * contacter le support de PCW @tel + * * trouver où sont stockées les données de GTG + * * les ajouter au backup borg + * demander paiement + * renouveller les papiers sur malt + * demander validation des jours pour février par @mail a Thierry + * commander resto chat botté + * scotch électrique veilleuses du breau + * les appeler @tel + * envoyer pitch de présentation OSM à krys + * trouver un contact @tel pour assurance pacifica, regarder sur une facture assurance voiture + * fatland extraire les textes non syncronisés avec nextcloud ## 68 ont été ouvertes + * noter les anniv de la famille fontenay + * faire un mail de suivi à la liste edu concernant le podcast libre à vous @mail + * nextcloud prob avec les pdf + * choisir un spot lumineux pour le sapin + * voir pour une selle plus confortable @vélo @achat + * réparer la commande via interrupteur enocean + * syncro dans le NAS après un borg backup du spaceship + * dédupliquer la musique sur @spaceship + * trouver une chiffroparty sur l'agenda du libre / mobilizon + * faire compte du mois après paiement de mission + * voir Estelle et compagnie + * @badoune accès à son site + * ajout de typo dans ubuntu + * ranger les tâches de la semaine dans un tag @grosse_pierre + * essayer freecad pour faire une maison + * monter video accéléré osm forêt mapping + * monter les dossiers de serveurs distants sur un dossier de catwoman @spaceship + * @framadate @symfony rétablir l'api framadate sur @sys + * persister un sondage : enregistrer le cas de choix identiques pour tous les choix + * @frontend @framadate style de formulaire selon les maquettes posant les questions + * @frontend enregistrer un objet de forulaire localement + * faire marcher l'api framadate localement en php8 + * mettre icinga sur le @vps + * monitorer avec icinga les différents serveurs par un ping + * prendre un bearer token de connec + * lancer la mutation GraphQl de création d'event + * faire marcher localement l'import d'event en masse + * réinstall la bdd postgresql sur @spaceship + * bitwarden dédupliquer grâce à keepass + * @blog présentation du transcripteur vosk @media + * @backup faire marcher syncthing correctement entre @spaceship et @cloud et @spare + * @edu @gtg regarder la doc de recherche + * étudier ajout de @nextcloud pour les @voixdunuc + * @vosk transcription améliorer le script de conversion de tous les inputs + * participer à une visio chiffrofête + * @edu tester emacs et orgmode + * @nas ranger les vidéos du dossier docu conf youtube + * sauvegarder les vidéos du @nas sur un disque externe + * chaussons + * drap lit de Fao + * serveur node en backend pour s'authentifier + * appel oauth + * carte resto à faire + * envoi du mail suivi réparation par email @mail à support@pcw.fr + * importer les entités dans le dépot sf5 + * remplacer le contenu du dépot date-poll-api par celui de sf5 + * mettre à jour les prérequis de dépendance avec php8 + * config docker + * @osm mettre à jour déchetterie https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drecycling + * mission en cours HigcoBox + * matomo check sur pages du staging + * intercom passer par node + * générer un fichier d'env pour le staging + * regarder des sites de mission logiciel libre https://www.libre-entreprise.org/ + * exporter la liste de mes titres likés sur spotify avec un coup de wget + * stopper mon abonnement spotify + * envoyer à novaa par @mail les papiers fiscalité axa + * fin de @mission + * @cil atelier libération de tel des gafam + https://mypads.framapad.org/mypads/?/mypads/group/cil-gometz-0vj64720/pad/view/telephones-libres-ejj847vy + + * proposer libre en fête + * gestion d'assurance + * récupérer recommandé a la poste avant 17h30 + * écrire un exportateur de tâches de GTD depuis GTG vers un format json + * @dev faire un environnement de dev local @nextcloud + * ajouter une variable matomo custom + * matomo envoyer la valeur SC si présent dans l'url + * faire une app de démo pour nextcloud + * faire une page qui fasse comme cryptpad pour être déchiffrée @chiffrement @dev +--- +# Rapport des autres tâches durant le mois + +## 29 ont été fermées + +## 68 ont été ouvertes + --- # Stats de fermeture des tâches diff --git a/routes/index.js b/routes/index.js index fa40074..4b30b81 100644 --- a/routes/index.js +++ b/routes/index.js @@ -4,10 +4,9 @@ var _ = require('lodash'); var parseString = require("xml2js").parseString; var router = express.Router(); -var fileToOpen = 'gtg_tasks' -// const convertFiles = true; -let convertFiles = false; +let convertFiles = true; +// let convertFiles = false; let computeDataOnExtract = true; let jsonAllData = { @@ -77,6 +76,7 @@ function computeData(jsonAllData) { listOpenMonthly : [], listClosed : [], listClosedWeekly : [], + listDevWeeklyClosed : [], listClosedMonthly : [], } let now = new Date(); @@ -106,6 +106,12 @@ function computeData(jsonAllData) { if (daysDiff <= 7) { jsonAllData.stats.listClosedWeekly.push(t) + + // tâches uniquement de dev + if((/\b(dev|sysadmin|écriture|edu|fediverse)\b/g).test(t['$'].tags) + ){ + jsonAllData.stats.listDevWeeklyClosed.push(t) + } } else if (daysDiff >= 7 & daysDiff <= 31) { jsonAllData.stats.listClosedMonthly.push(t) } @@ -201,20 +207,43 @@ function computeBgColorOnProportionOfOpenTasks(someProportionNumber) { return result; } +let datenow = new Date(); +let dataTagsMd = `# Export de Tâches GTG \n date: ` + datenow.toLocaleString() function exportToMarkdown(res) { - let datenow = new Date(); - let dataTagsMd = `# Export de Tâches GTG \n date: ` + datenow.toLocaleString(); + // fichier de rapport des tâches fermées durant les 7 derniers jours + dataTagsMd += `\n# Rapport hebdomadaire de dev `; + dataTagsMd += `\n## ${jsonAllData.stats.listDevWeeklyClosed.length} ont été fermées `; + jsonAllData.stats.listDevWeeklyClosed.map(elem => { + dataTagsMd += `\n * ${elem.title}`; + }) + dataTagsMd += `\n `; + dataTagsMd += `\n---`; + dataTagsMd += `\n `; dataTagsMd += `\n# Rapport des tâches durant les 7 derniers jours `; dataTagsMd += `\n `; dataTagsMd += `\n## ${jsonAllData.stats.listClosedWeekly.length} ont été fermées `; dataTagsMd += `\n `; + jsonAllData.stats.listClosedWeekly.map(elem => { + dataTagsMd += `\n * ${elem.title}`; + }) dataTagsMd += `\n## ${jsonAllData.stats.listOpenWeekly.length} ont été ouvertes `; dataTagsMd += `\n `; + jsonAllData.stats.listOpenWeekly.map(elem => { + dataTagsMd += `\n * ${elem.title}`; + }) dataTagsMd += `\n--- `; // fichier de rapport des tâches fermées durant les 31 derniers jours + dataTagsMd += `\n# Rapport des autres tâches durant le mois `; + dataTagsMd += `\n `; + dataTagsMd += `\n## ${jsonAllData.stats.listClosedWeekly.length} ont été fermées `; + dataTagsMd += `\n `; + + dataTagsMd += `\n## ${jsonAllData.stats.listOpenWeekly.length} ont été ouvertes `; + dataTagsMd += `\n `; + dataTagsMd += `\n--- `; // stats de fermeture des tâches dataTagsMd += `\n# Stats de fermeture des tâches `; dataTagsMd += `\n `; @@ -250,7 +279,6 @@ function exportToMarkdown(res) { }]) sortedTagsByTitle.map(elem => { - console.log(`elem `, elem['$'].name, elem.tasks) dataTagsMd += `\n * ${elem['$'].name} , ${elem.tasks | 0}`; })