Une mise à jour relativement récente et majeure d'i3ipc ( v2.0.1
) casse certains de nos segments et listes ici.
Je l'ai découvert aujourd'hui en mettant à jour tous mes packages python (pour python 3.8).
Essentiellement, les wrappers de classe python autour des réponses JSON i3ipc que notre code traite ont changé, de sorte que reply['attr']
n'est plus valide, et reply.attr
ou getattr(reply, 'attr')
doivent être utilisés.
Ceci est pertinent dans powerline/listers/i3wm.py et powerline/segments/i3wm.py.
Un correctif pour cela serait très simple à produire, mais je ne sais pas si et comment la compatibilité descendante doit être maintenue.
Si j'interprète correctement ce diff , alors l'utilisation d'attributs devrait déjà avoir fonctionné avec les anciennes versions d'i3ipc. Étant donné qu'il prenait en charge les deux modes d'accès aux données, cela devrait peut-être être proposé comme un correctif (encore plus simple) dans la base de code i3ipc ?
Problème connexe déposé sous le nom altdesktop/i3ipc-python#136
Remplacer reply['attr']
par reply.attr
devrait en effet résoudre ce problème.
@ PH111P ouais, j'ai déjà fait fonctionner à nouveau les listeurs localement, mais j'allais attendre une réponse dans l'autre problème avant de changer quoi que ce soit ici
On dirait que l'amont préfère casser cela juste parce que; Je suppose qu'il est temps pour ce patch.
Commentaire le plus utile
@ PH111P ouais, j'ai déjà fait fonctionner à nouveau les listeurs localement, mais j'allais attendre une réponse dans l'autre problème avant de changer quoi que ce soit ici