예제 #1
0
파일: user.py 프로젝트: samuelbaizg/ssguan
def create_operation(operation_key, handler_classes, resource_oql, modifier_id):
    if type(handler_classes) == str:        
        handler_classes = [handler_classes]
        
    query = Operation.all()
    for handler_class in handler_classes:
        query.filter("handler_classes like ", "%%%s%%" % handler_class)
        if query.count() > 0:
            raise CoreError("One handler only can have one corresponding operation. The handler %s is corresponding to multiple operations." % handler_class)
    query = Operation.all()
    query.filter("operation_key =", operation_key)
    operation = Operation(operation_key=operation_key)
    operation.handler_classes = ",".join(handler_classes)
    operation.resource_oql = resource_oql
    operation.create(modifier_id)
    return operation