-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gérer plusieurs datadir #43
Comments
J'avais aussi ça en tête. |
A-t-on besoin d'un datadir pour les chants? Ne serait-il pas plus simple de mettre pour chaque chant le chemin relatif ou absolu ? |
C'est possible aussi, l'avantage de l'utilisation de datadir permet d'avoir d'autre fichiers en plus des .sg : code LaTeX divers, images, ... |
pourquoi est-il nécessaire d'avoir un |
Ça n'est pas nécessaire, mais ça permet ça, et ça peut être assez pratique. En fait, les répertoires des chansons, templates, latex, sont relatifs à datadir (datadir/songs, datadir/latex, datadir/templates). Donc en permettant plusieurs datadir, on permet d'avoir plusieurs de ces répertoires d'un coup. D'autre part, je pensais que datadir pourrait être, au choix (pour alléger la syntaxe dans le premier cas) :
Actuellement, on a déjà un peu ça dans la mesure où certains sous-répertoires du répertoire data de songbook-core sont déjà pris en compte. Donc si on implémente la liste des datadir, on pourra simplifier le code pour simplement ajouter |
J'ajouterai juste que du point de vue de songbook-core, un datadir (il faudrait trouver une traduction) n'est rien d'autre qu'un dossier qui respecte une certaine hiérarchie. Ce n'est pas nécessairement un dépôt git.
En effet ! Et il suffirait d'ajouter des |
OK pour la nécessité du datadir; Je me méfie un peu d'une seule stratégie de recherche basée sur l'ordre des datadir et aimerais avoir une possibilité de pointer explicitement un fichier d'un datadir particulier. Par exemple : j'ai deux datadir, qui contiennent tous deux les chants "Petit papa Noël" et "Jingle Bells". Mais je veux avoir pour l'un la version du premier datadir, pour l'autre celle du second. |
Cela peut être intéressant. Je vois deux manières de l’implémenter :
{
"content": [ "my/first/song.sg",
"all/others/*",
["datadir", "/path/to/datadir3/", ["one/song/here.sg",
"another/one.sg"
]
]
]
} Dans ce cas, les deux premiers chants seraient cherches dans les datadirs donnés au début, et résolus dans l'ordre. Le troisième élément ajouterai deux chants d'un autre datadir.
Je préfère la première : plus générique, et moins verbeuse s'il y a beaucoup de chants de ce type. Mais plus verbeuse pour un ajout ponctuel. PS : au passage, je me rend compte que la syntaxe pour |
Plutôt que {
"content": [
"my/first/song.sg",
"all/others/*",
["cwd", "/path/to/directory/", [
"one/song/here.sg", "another/one.sg"
] ]
]
} inclus les chansons Ceci n'exclut absolument pas de permettre, en plus, des chemins absolus dans les chansons, ce qui est, je pense, déjà permis vu l'implémentation qui est faite.
Aucun problème pour l'implémentation des plugins que j'ai en tête. PS : J'aurai de temps courant juin pour implémenter pas mal de choses de ma todo liste. |
Il y a deux problèmes ici :
Je me suis attaqué au premier, et j'ai une petite question à ce propos : lorsque l'utilisateur passe une valeur à |
Ça me paraît bien. Une autre manière de voir les choses pour le type de contenu |
Il faut juste modifier un poil ici. Pour le moment, on suppose qu'il s'agit d'une regex, et on y ajoute le datadir.
Ça me va parfaitement. |
Je viens d'essayer : ça fonctionne déjà. En fait, un |
Ok, c'est cool ca ! Je termine la gestion de datadirs multiples, puis je te laisse la main avec ContentList. |
Fait : #45 |
Il pourrait être utile d'inclure dans un seul carnet des chants provenant de plusieurs bases de données (songbook-data, mes chants persos, ...). Je propose donc de transformer
datadir
en une liste, et d'aller chercher les chemins vers les fichiers de chants dans lors de la création deContentList
de la manière suivante :datadir
, on prend celui-ci ;The text was updated successfully, but these errors were encountered: