Powerline: Breaking Change in Python-i3ipc bricht i3-Listener

Erstellt am 17. Nov. 2019  ·  5Kommentare  ·  Quelle: powerline/powerline

Ein relativ neues, großes Update in i3ipc ( v2.0.1 ) bricht einige unserer Segmente und Listen hier.
Ich habe es heute entdeckt, als ich alle meine Python-Pakete aktualisiert habe (für Python 3.8).

Im Wesentlichen haben sich die Python-Klassen-Wrapper um i3ipc-JSON-Antworten, mit denen unser Code befasst, geändert, sodass reply['attr'] nicht mehr gültig ist und reply.attr oder getattr(reply, 'attr') verwendet werden müssen.
Dies ist in powerline/listers/i3wm.py und powerline/segments/i3wm.py relevant.

segment cwm bug

Hilfreichster Kommentar

@PH111P ja, ich habe die Lister bereits lokal wieder zum Laufen gebracht, aber ich wollte auf eine Antwort in der anderen Ausgabe warten, bevor ich hier etwas ändere

Alle 5 Kommentare

Ein Patch dafür wäre sehr einfach zu erstellen, aber ich bin mir unsicher, ob und wie die Abwärtskompatibilität aufrechterhalten werden soll.

Wenn ich dieses Diff richtig interpretiere, sollte die Verwendung von Attributen bereits mit älteren Versionen von i3ipc funktioniert haben. Da es früher beide Arten des Datenzugriffs unterstützte, sollte dies vielleicht als (noch einfachere) Lösung in der i3ipc-Codebasis vorgeschlagen werden?

Verwandtes Problem, das als altdesktop/i3ipc-python#136 abgelegt wurde

Das Ersetzen von reply['attr'] durch reply.attr sollte dies tatsächlich beheben.

@PH111P ja, ich habe die Lister bereits lokal wieder zum Laufen gebracht, aber ich wollte auf eine Antwort in der anderen Ausgabe warten, bevor ich hier etwas ändere

Scheint, als ob der Upstream es vorzieht, dies nur deshalb zu brechen; Ich denke, es ist Zeit für diesen Patch.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen