Univention Bugzilla – Bug 26725
Wiki "Entwicklung von Univention Directory Listener-Modulen" muss aktualisiert werden
Last modified: 2012-07-18 17:45:05 CEST
Ich habe heute die Anleitung von Philip zur Implementierung eigener Listener-Module ausprobiert (siehe obige/angehängte URL). Im Prinzip funktioniert das ganze so, ich musste aber ein paar Änderungen vornehmen, damit das Beispiel auf meinem aktuellen UCS3.0 auch läuft. 1. Listener-Module funktionieren im Moment nur, wenn sie unter /usr/lib/univention-directory-listener/system/ liegen. Ich wollte mein Modul eigentlich als "user" unter /usr/lib/univention-directory-listener/user ablegen, daber dort sind sie scheinbar nicht sichtbar für das Betriebssystem. 2. Im Python-Quelltext des Listener-Moduls ist die Import-Liste fehlerhaft (utf8 ist unbekannt). Statt der dokumentierten Liste (geht so nicht) import listener import os import sys import univention.debug import univention.utf8 import types habe ich stattdessen die Liste aus dem bind.py Modul übernommen und dann geht es: __package__='' # workaround for PEP 366 import listener import univention_baseconfig import os, grp import univention.debug 3. Als Folgefehler müssen alle Stellen angepasst werden, an denen univention.utf8 benutzt wird (6 Zeilen).
(In reply to comment #0) > 1. Listener-Module funktionieren im Moment nur, wenn sie unter > /usr/lib/univention-directory-listener/system/ liegen. Ich wollte mein Modul > eigentlich als "user" unter /usr/lib/univention-directory-listener/user > ablegen, daber dort sind sie scheinbar nicht sichtbar für das Betriebssystem. Ist ist so gewollt und von daher kein Bug. > 2. Im Python-Quelltext des Listener-Moduls ist die Import-Liste fehlerhaft > (utf8 ist unbekannt). Statt der dokumentierten Liste (geht so nicht) > import sys > import types entfernt weil ungenutzt > import univention.utf8 univention.utf8 wurde zu Gunsten von "".decode('utf-8') entfernt. > 3. Als Folgefehler müssen alle Stellen angepasst werden, an denen > univention.utf8 benutzt wird (6 Zeilen). Angepasst und getestet.