Compare commits

...

1 Commits

Author SHA1 Message Date
Jephté Clain 039009af82 description des modifications à implémenter 2017-07-06 13:02:58 +04:00
1 changed files with 54 additions and 0 deletions

54
TODO.md
View File

@ -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