From 039009af825232bd254f4987f7590a4072d6f692 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 6 Jul 2017 13:02:58 +0400 Subject: [PATCH] =?UTF-8?q?description=20des=20modifications=20=C3=A0=20im?= =?UTF-8?q?pl=C3=A9menter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/TODO.md b/TODO.md index 32dea67..dcb9e9b 100644 --- a/TODO.md +++ b/TODO.md @@ -1,3 +1,57 @@ # TODO +il faudrait pouvoir mettre au téléchargement des fichiers générés dynamiquement. +* soit à la mode -E c'est à dire qu'ils ne sont pas listés mais téléchargeables +* soit à la mode -e c'est à dire qu'ils sont inclus dans la liste retournée + +dans tous les cas, quand le fichier est demandé, la commande associée est lancée +avec certains paramètres. il faudrait peut-être supporter la notion de fichier +dérivé, ce qui implique que le script est lancé avec la référence du fichier de +base, à partir duquel est généré le contenu effectif + +donc on pourrait avoir: +* -E "spec:;command args..." lance la commande avec des arguments parmi lesquels +on peut mentionner les variables %s == spec, %f == le fichier demandé, etc. +* -e "spec:;command args..." lance la commande avec des arguments parmi lesquels +on peut mentionner les variables %s == spec, %f == le fichier demandé, %b le +fichier de base qui correspond au pattern spec, etc. + +à réfléchir: comme les fichiers sont générés dynamiquement, avec l'option '-e' +la valeur 'spec' n'a pas de signification, parce qu'il n'y a pas de fichier avec +lesquels faire la correspondance... il faut donc trouver une syntaxe pour +spécifier comment transformer des fichiers existant en modèles de fichiers que +l'on peut demander. ensuite, il faut pouvoir faire un lien entre un fichier +physique et le nom qui a été généré pour la construction dynamique. + +il faut aussi supporter le cas où le nom de fichier est généré sans fichier +physique associé. + +peut-être "-e spec:[basespec:];command" ? exemples: + + -e "\1\.pdf:(.*)\.doc:;convert-to-pdf %b -o %f" + +et pour un fichier généré dynamiquement: + + -e "rand.*\.dat:;gen-random %f" + +si la commande ne contient pas la variable %f, on assume que les données sont +écrite sur la sortie standard. sinon, il faut préparer un fichier temporaire et +le fournir comme valeur %f. la commande est censée provisionner le fichier. + +si une variable %f ou %b est spécifiée telle quelle, les caractères spéciaux +sont mis en échappement automatiquement. si elle est spécifiée à l'intérieur +d'une autre valeur, aucun quoting n'est effectué. + +e.g. si %f vaut "file with space.txt" alors +~~~ +la commande cmd %f +donnera effectivement cmd "file with space.txt" (un seul argument) + +alors que la commande cmd prefix/%f +donnera cmd prefix/file with space.txt (3 arguments) + +donc la commande cmd "prefix/%f" +donnera cmd "prefix/file with space.txt" (1 argument) +~~~ + -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary \ No newline at end of file