Example #1
0
def removeScript(script):
    # Prüfe, ob das Skript noch einer Gruppe zugewiesen ist
    errorcodeG, groupsForScript = data_backend.showGroupsOfScript(script)
    
    if errorcodeG is 0:
        for group in groupsForScript:
            if config_backend.getDeleteObjectMemberships():
                data_backend.removeScriptFromGroup(script, group)
            else:
                return error.ERRORS["ScriptIsStillAGroupmember"]
    else:
        return errorcodeG
        
    try:
        retValue = data_backend.removeScript(script)
    except Exception as e:
        raise error.DataBackendInternalError("%s: %s" % (type(e), e.message))

    if type(retValue) == int: # Typ prüfen
    # Für 'removeScript' erlaubte Errorcodes prüfen
        if retValue == 0 or\
           retValue == error.ERRORS['CouldNotWriteScripts'] or\
           retValue == error.ERRORS['CouldNotReadScripts'] or\
           retValue == error.ERRORS['ScriptNotRegistered']:
            return retValue
        else:
            raise error.DataBackendReturnValueError(str(retValue))
    else:
        raise error.DataBackendReturnTypeError(type(retValue), type(0))
Example #2
0
def removeClient(client):
    # Prüfe, ob der Client noch in einer Gruppe ist oder ob ein Skript einem Client zugewiesen ist
    errorcodeG, groupsForClient = data_backend.showGroupsOfClient(client)
    errorcodeS, scriptsForClient = data_backend.showScriptsOfClient(client)
    
    if errorcodeG is 0 or errorcodeS is error.ERRORS["ClientHasNoScripts"]:
        for group in groupsForClient:
            if config_backend.getDeleteObjectMemberships():
                data_backend.removeClientFromGroup(client, group)
            else:
                return error.ERRORS["ClientIsStillAGroupmember"]
    else:
        return errorcodeG

    if errorcodeS is 0 or errorcodeS is error.ERRORS["ClientHasNoScripts"]:
        for script in scriptsForClient:
            if config_backend.getDeleteObjectMemberships():
                data_backend.removeClientFromScript(client, script)
            else:
                return error.ERRORS["ClientIsStillAScriptmember"]
    else:
        return errorcodeG

    try:
        retValue = data_backend.removeClient(client)
    except Exception as e:
        raise error.DataBackendInternalError("%s: %s" % (type(e), e.message))

    if type(retValue) == int: # Typ prüfen
    # Für 'removeClient' erlaubte Errorcodes prüfen
        if retValue == 0 or\
           retValue == error.ERRORS['CouldNotWriteClients'] or\
           retValue == error.ERRORS['CouldNotReadClients'] or\
           retValue == error.ERRORS['ClientNotRegistered']:
            return retValue
        else:
            raise error.DataBackendReturnValueError(str(retValue))
    else:
        raise error.DataBackendReturnTypeError(type(retValue), type(0))