Programme Dicbuilder : script shell $HOME/.simbad/dicbuilder (il peut y a voir un raccourci)
2 utitisations : Mode principal / Mode secondaire (option -e)
Mode principal :
Travaille directement sur un fichier "acro" local (définit dans le script dicbuilder) et peut faire des fusions pour intégrer un fichier "acro.new" contenant seulement quelques modifications
Mode secondaire :
Travaille aussi avec un fichier "acro" local mais génère un fichier "acro.new" contenant toutes les différences. (Il faut penser à supprimer acro et acron.new pour recommencer une nouvelle édition). Par défaut, s'il n'est pas présent va le chercher sur la version du dictionnaire en ligne (cdsweb, comme DJIN)
[Depuis le 29 juin 2017]
Le mode principal de dicbuilder chercher "acro" sur Simbad (acro.dic) au lancement et à la fin va le mettre à jour.
1 - vérifie si personne est déjà en train de modifier acro (présence d'un "acro.lock" sur simbad)
2 - récupère la version du "acro.dic" pour la mettre sur le PC en "acro" de travail
3 - Dicbuilder va enregistrer régulièrement dans le fichier "acro" local et dans des versions temporaires au fur et à mesure du travail, puis sortie du dicbuidler
4 - vérifie qu'il n'y a personne qui fait d'autres modifs (ce qui ne devrait jamais arriver) entre temps sur la version de Simbad et lance la copie du fichier "acro" local vers "acro.dic" sur Simbad.
5 - cette nouvelle version est alors disponible pour la prochaine personne qui ouvrira dicbuilder en mode principal
Détails :
1 -
- Vérifie d'abord si un fichier "acro.lock" existe déjà sur le PC -> ca signifie que la personne avait déjà ouvert et il y a dû y avoir un plantage => si le contenu n'est pas $USER => message + sortie
- Vérifie si le "acro.lock" sur Simbad (un autre utilisateur ?) => message + sortie
- Crée un fichier "acro.lock" contenant $USER et l'envoie sur Simbad
2 -
- Vérifie d'abord si la date du fichier "acro" local est plus ancienne que celle sur Simbad (a priori un autre utilisateur a mis une nouvelle version sur Simbad) => récupère la version de Simbad.
- Si la version local est + récente (par exemple modifiée à la main), alors n'y touche pas
3 -
4 - (refait les vérifications de l'étape 1 à l'envers)
- vérifie qu'on avait bien le droit de modifier, si le acro.lock local existe bien, sinon => message + sortie et ne fait rien
- vérifie que le "acro.lock" sur Simbad contient bien $USER, sinon => message + sortie et ne fait rien
- vérifie que le "acro" local est bien + récent (modifié par dicbuilder ou à la main) alors l'envoie sur Simbad (en acro.dic), sinon => message + sortie et ne fait rien
- Suppression du "acro.lock"
--
AnaisOBERTO - 2017-07-25