def handler(dn, new, old):
    """Called on each change."""
    try:
        old_services = old.get('univentionService', [])
        old_fqdn = ldap2fqdn(old)
    except Exception:  # NameError, KeyError
        old_services = []
        old_fqdn = ""

    try:
        new_services = new.get('univentionService', [])
        new_fqdn = ldap2fqdn(new)
    except Exception:  # NameError, KeyError
        new_services = []
        new_fqdn = ""

    for service in old_services:
        if service not in SERVICES:
            continue
        if old_fqdn != new_fqdn or service not in new_services:
            uri = SERVICES[service] % (old_fqdn, )
            rc = uvmm("remove", uri)
            debug.debug(debug.LISTENER, debug.INFO,
                        "removing node %s: %d" % (uri, rc))
    for service in new_services:
        if service not in SERVICES:
            continue
        if old_fqdn != new_fqdn or service not in old_services:
            uri = SERVICES[service] % (new_fqdn, )
            rc = uvmm("add", uri)
            debug.debug(debug.LISTENER, debug.INFO,
                        "adding node %s: %d" % (uri, rc))
Ejemplo n.º 2
0
def handler(dn, new, old):
	"""Called on each change."""
	try:
		old_services = old.get('univentionService', [])
		old_fqdn = ldap2fqdn(old)
	except StandardError, e: # NameError, KeyError
		old_services = []
		old_fqdn = ""
Ejemplo n.º 3
0
def initialize():
	"""Called once on first initialization."""
	pass

def handler(dn, new, old):
	"""Called on each change."""
	try:
		old_services = old.get('univentionService', [])
		old_fqdn = ldap2fqdn(old)
	except StandardError, e: # NameError, KeyError
		old_services = []
		old_fqdn = ""

	try:
		new_services = new.get('univentionService', [])
		new_fqdn = ldap2fqdn(new)
	except StandardError, e: # NameError, KeyError
		new_services = []
		new_fqdn = ""
	
	for service in old_services:
		if service not in SERVICES:
			continue
		if old_fqdn != new_fqdn or service not in new_services:
			uri = SERVICES[service] % (old_fqdn,)
			rc = uvmm("remove", uri)
			debug.debug(debug.LISTENER, debug.INFO, "removing node %s: %d" % (uri, rc))
	for service in new_services:
		if service not in SERVICES:
			continue
		if old_fqdn != new_fqdn or service not in old_services: