Bug 26725 - Wiki "Entwicklung von Univention Directory Listener-Modulen" muss aktualisiert werden
Wiki "Entwicklung von Univention Directory Listener-Modulen" muss aktualisier...
Status: RESOLVED FIXED
Product: Z_wiki.univention.de
Classification: Unclassified
Component: ZZZ - Trash - Developer information
unspecified
Other Linux
: P5 minor
: UCS 3.0-2
Assigned To: Philipp Hahn
http://wiki.univention.de/index.php?t...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-05 15:09 CEST by Jürgen Kahrs
Modified: 2012-07-18 17:45 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jürgen Kahrs univentionstaff 2012-04-05 15:09:53 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).
Comment 1 Philipp Hahn univentionstaff 2012-07-18 17:45:05 CEST
(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.