Hallo Pyfisch,
ich finde es großartig, wie Du Dich beim pwb als Coder einbringst und es ist immer doof, beim Review ein -1 oder -2 zu vergeben, weil es immer den Eindruck hinterläßt, daß Deine Arbeit nicht geschätzt wird. Sei versichert, ic schätze sie sehr und da CR ist rein technischer Natur, das der Verbesserung dient. Das mal so vorweg.
Jetzt zu einigen Punkten: Deine Änderungen in category_redirekt fand ich sehr elegant, weshalb ich sie auch in das Framework übernommen habe. Leider hat dies in bestimmte Fällen zu Fehlern geführt [1], was ich auch übersehen habe. Daher habe ich Deine Änderungen wieder zurücknehmen müssen [2]. Vielleicht findest Du noch einen Weg, der die lokale Methode weitgehend überflüssig macht ohne die fehlerhafte Log-Funktion.
category.py sollte erst dann ein Rewrite bekommen, sobald alle Funktionen aus der compat-Branch übernommen worden sind. Sonst wird das später umso schwieriger. Deshalb hier erstmal ein CR-2. Außerdem solltest Du die Änderungen mehr dokumentieren (Siebrand kommentierte das auch). Sonst ist der Review enorm schwierig, weil man sich in das Programm reindenken muß. Du hast da auch einen Breaking change beim Construktor. Bitte noch überprüfen, ob der Bot nicht anderweitig benutzt wird, ggf. mit dem @deprecate_arg decorator umbiegen.
LG und guten Rutsch morgen
xqt
[1] https://bugzilla.wikimedia.org/process_bug.cgi [2] https://gerrit.wikimedia.org/r/#/c/104505/