• [^] # Re: CardDAV

    Posté par . En réponse au journal Sortie de gbirthday 0.6.6. Évalué à 3.

    J'ai regardé le code source et il est très facile de rajouter un backend.

    Oui, il n'y a pas d'API documentée, mais quelques fonctions suffisent et sont faciles à comprendre.

    Attention à une limitation que je n'ai pas évoquée dans le journal : on peut lire plusieurs carnets d'adresses, mais la fonction Add ne permet d'écrire que dans l'un d'entre eux (le premier, je suppose… personnellement, je n'utilise qu'un fichier CSV comme seule source).

    As-tu une préférence sur la localisation et le format de ce cache ?

    Non. Enfin pour la localisation, l'idéal serait de suivre freedesktop. C'est ce que j'ai fait et j'ai mis ça dans Conf.base_data_path. Voir __init__.py :

     # If XDG_DATA_HOME is defined, use it to store data files
     if 'XDG_DATA_HOME' in os.environ:
     self.base_data_path = os.environ['XDG_DATA_HOME'] + "/gbirthday"
     # else, use ~/.local/share
     else:
     self.base_data_path = os.environ['HOME'] + "/.local/share/gbirthday"
    
    

    Mon opinion vaut celle d'un autre. Le logiciel a été développé par plusieurs personnes à la suite. Lorsque j'ai proposé de modifier des choses, les anciens dévs étaient contents que quelqu'un s'y intéresse et prenne le flambeau (ce qui n'était pas mon intention…). Je suis le dernier à être intervenu mais je pense avoir fait le tour de ce que je voulais faire. Si tu veux ajouter des choses, je veux bien essayer de te conseiller, mais dis-toi que tu as le champ libre car gbirthday est un peu orphelin.

    Quelque chose de bizarre: lorsque je lance gBirthday, la méthode parse() de mon nouveau backend est appelé 2 fois. Une idée de la raison ?

    J'avais noté quelque chose dans ce goût-là en investiguant un bug pénible, mais je n'ai pas plus cherché que ça. Pour être très franc, c'est un peu un empilage de rustines, ce qui s'explique par l'historique. N'hésite pas à tailler dans le vif si tu penses que certaines choses peuvent être simplifiées. Enfin si quelque chose ne te semble pas logique, ne postule pas que tu te trompes.