Bon alors je viens de tester vraiment là et il y a plusieurs problèmes :
- Déjà un truc qui sera obsolète dans la version de rhythmbox suivante (j'ai la version 0.13.3) c'est :
source = shell.get_property("selected_source")
à remplacer par :
source = shell.get_property("selected_page")
- Ensuite, plus grave, j'ai donc testé le plugin en lui même (tidyRating), et ca m'a remis à zéro la valeur du nombre d'écoutes, celle qui est affichée dans Rhythmbox.
edit : en fait en regardant bien, c'est parce que pour faire la synchro depuis les fichiers VERS rhythmbox, tu regardes si le rating de rhythmbox est à 0. TU devrais regarder en fait si rating est à 0
ET si le count est aussi à 0 😉
- Autre chose aussi, je pense que
db = shell.get_property("db")
devrait être sorti de la boucle for, il n'est pas nécessaire de le faire pour chaque "element" de la boucle étant donné qu'il ne dépend pas de "element" justement (enfin je crois).
Voire même carrément supprimé car la variable db n'est jamais utilisé en dessous apparemment....car ca passe visiblement par des shell.props.db
- ui_str la chaîne en dur dans le code devrait être remplacé par un fichier xml séparé (par exemple saveratings_ui.xml placé dans le dossier du plugins) et on remplace
self.ui_id = self.uim.add_ui_from_string(ui_str)
par
self.uim.add_ui_from_file(path.expanduser("~/.local/share/rhythmbox/plugins/saveTAGRating_en/saveratings_ui.xml"))
Je suis en train de faire toutes les modifs dont je parlais de mon côté comme ça je t'enverrai ou je commiterai quand ce sera bon 😉