Exemple #1
0
def saveWorkFlow():
    # 添加流程
    flow = flask.request.form.get('content')
    if not flow:
        return flask.jsonify({
            'code': ErrorCode.NoContentInReq,
            'id': -1
        })

    flowId = flask.request.form.get('id')
    code = ErrorCode.NoError
    if flowId:
        code = WorkFlowDao.updateWorkflow(flowId, flow, getUserId())
    else:
        wf = WorkFlow(flow, getUserId())
        code = WorkFlowDao.saveWorkflow(wf)
        flowId = wf.id

    uiData = flask.request.form.get('uidata')
    if uiData:
        code = UiDataDao.setData(flowId, uiData, getUserId())

    return flask.jsonify({
        'code': code,
        'id': flowId
    })
Exemple #2
0
def prepareDir():
    flowId = flask.request.form.get('flowId')
    rootDir = flask.request.form.get('dir')
    classify = flask.request.form.get('classify', config.DEFAULT_RES_CLASSIFY)

    userid = getUserId()
      
    try:
        username = LoginInfoDao.queryUsernameByuserid(userid)
    except:
        config.Log.info(traceback.format_exc())

    code = ErrorCode.NoError
    if not flowId:
        code = ErrorCode.NoFlowIdInReq
    elif not rootDir:
        code = ErrorCode.NoDirInReq
    elif not userid:
        code = ErrorCode.NotFindUser
    else:
        flow = WorkFlowDao.queryWorkflow(flowId, getUserId())
        if not flow:
            code = ErrorCode.NotFindFlowById
        else:
            code = fs.prepareDirOnWebos(userid, username, rootDir, flow.content)

    return flask.jsonify({'code':code})
Exemple #3
0
def queryStateclan():
    userid = getUserId()
    taskid = flask.request.form.get('taskid')
    if not taskid:
        code = ErrorCode.NoTaskIdInReq
        return flask.jsonify({'code': code})

    stateclanList = StateClanDao.queryByTaskId(taskid, userid)
    if not stateclanList:
        code = ErrorCode.NotFindStateClanByTask
        return flask.jsonify({'code': code})

    message = {}

    modules = llts.getModuleList()

    names = {}
    for it in stateclanList:
        names[it.name] = it.name

    names = _replaceWithModuleName(names, modules)

    for info in stateclanList:

        strr = _getAnalysisInfo(info, names)

        if info.starttime:
            if info.endtime:
                message[names[info.name]] = {'clan': strr, 'runtime': info.endtime - info.starttime}
            else:
                message[names[info.name]] = {'clan': strr, 'runtime': time.time() - info.starttime}
        else:
            message[names[info.name]] = {'clan': strr, 'runtime': 0.0}

    return flask.jsonify(message)
Exemple #4
0
def queryTaskStatus():
    userid = getUserId()
    flowid = flask.request.form.get('flowid')
    if not flowid:
        code = ErrorCode.NoFlowIdInReq
        return flask.jsonify({'code': code})

    taskIdList = TaskDao.queryTaskIdByFlowId(flowid, userid)
    if taskIdList == []:
        code = ErrorCode.NotFindTaskByFlowId
        return flask.jsonify({'code': code})

    taskstateList = []
    message = {}

    for taskid in taskIdList:
        taskstate = TaskStateDao.lastTaskState(taskid, userid)
        if taskstate:
            taskstateList.append(taskstate)
        else:
            message[taskid] = 'NotRuning'

    for info in taskstateList:
        if info.endTime:
            message[info.taskId] = 'NotRuning'
        else:
            message[info.taskId] = 'Runing'

    return flask.jsonify(message)
Exemple #5
0
def deleteTask():
    taskId = flask.request.form.get('id')
    if not taskId:
        return flask.jsonify({'code': ErrorCode.NoTaskIdInReq})
    try:
        _requestTaskServerRetCode(taskId, TaskRequestType.StopTask)
    except:
        config.Log.info('can not kill module')
    
    TaskStateDao.deleteTaskState(taskId, getUserId())
    code = TaskDao.deleteTask(taskId, getUserId())

    try:
        lltsIdList = StateClanDao.delByTaskId(taskId, getUserId())
    except:
        config.Log.info('can not kill module while delete task')
    return flask.jsonify({'code': code})
Exemple #6
0
def setFlowUiData():
    flowId = flask.request.form.get('flowId')
    content = flask.request.form.get('content')
    code = ErrorCode.NoError
    if not flowId:
        code = ErrorCode.NoFlowIdInReq
    elif not content:
        code = ErrorCode.NoContentInReq
    else:
        code = UiDataDao.setData(flowId, content, getUserId())
    return flask.jsonify({'code': code})
Exemple #7
0
def addTask():
    content = flask.request.form.get('content')
    if not content:
        return flask.jsonify({
            'code': ErrorCode.NoContentInReq,
            'id': -1
        })
    
    taskId = flask.request.form.get('id')
    code = ErrorCode.NoError
    if taskId:
        code = TaskDao.updateTask(taskId, content, getUserId())
    else:
        task = Task(content, getUserId())
        code = TaskDao.saveTask(task)
        taskId = task.id
    return flask.jsonify({
        'code': code,
        'id': taskId
    })
Exemple #8
0
def getTaskState(id):
    taskstate = TaskStateDao.lastTaskState(id, getUserId())
    if taskstate:
        clan = json.loads(taskstate.clan)
        if taskstate.endTime:
            runtime = taskstate.endTime - taskstate.startTime
        else:
            runtime = time.time() - taskstate.startTime
        clan['runTime'] = runtime
        return flask.jsonify(clan)
    else:
        return flask.jsonify({})
Exemple #9
0
def queryTaskStateByArgs():
    userid = getUserId()
    sortName = flask.request.form.get('sortName')
    sortOrder = flask.request.form.get('sortOrder')
    pageSize = flask.request.form.get('pageSize')
    pageNumber = flask.request.form.get('pageNumber')
    
    config.Log.info('sortname = %s, sortorder = %s, pageSize = %s, pagenumber = %s, userid = %s' % (sortName, sortOrder, pageSize, pageNumber, userid))
    
    taskstatelist = TaskStateDao.queryByArgs(sortName, sortOrder, pageSize, pageNumber, userid)
    states = {}
    states['rows'] = [taskstate.dumpDetail() for taskstate in taskstatelist]
    states['total'] = TaskStateDao.queryCount(userid)
    return flask.jsonify(states)
Exemple #10
0
def delWorkFlow():
    userId = getUserId()
    # 删除流程
    flowId = flask.request.form.get('id')
    if not flowId:
        return flask.jsonify({'code': ErrorCode.NoFlowIdInReq})
    
    flow = WorkFlowDao.queryWorkflow(flowId, userId)
    if flow.userId != userId:
        return flask.jsonify({'code': ErrorCode.CannotDeleteMutualFlow})
    
    UiDataDao.deleteUiDataByFlowId(flowId, userId)
    taskIdList = TaskDao.queryTaskIdByFlowId(flowId, userId)
    for id in taskIdList:
        TaskStateDao.deleteTaskState(id, userId)
    TaskDao.deleteByFlowId(flowId, userId)
    code = WorkFlowDao.deleteWorkflow(flowId, userId)
    return flask.jsonify({'code': code})
Exemple #11
0
def listDirByDirid():

    userid = getUserId()
    if not userid:
        return flask.jsonify({'code': ErrorCode.NotFindUser})
    dirid = int(flask.request.form['dirid'])

    def _listdir(dirid):
        dirs = webos.listDir(userid, dirid)
        for d in dirs:        
            if d['type'] == 'dir':
                d['children'] = _listdir(d['id'])
        return dirs
    try:
        message = flask.jsonify(_listdir(dirid))
        return message
    except:
        config.Log.info('list Dir Error')
Exemple #12
0
def startTask():
    taskId = flask.request.form.get('id')
    if not taskId:
        return flask.jsonify({'code': ErrorCode.NoTaskIdInReq})

    userId = getUserId()
    # userId = '200010035103900'

    task = TaskDao.queryTask(taskId, userId)
    if not task:
        return flask.jsonify({'code': ErrorCode.NotFindTaskById})

    flow = WorkFlowDao.queryWorkflow(task.flowId, userId)
    if not flow:
        return flask.jsonify({'code': ErrorCode.NotFindFlowById})

    return _requestTaskServerRetCode(taskId, TaskRequestType.StartTask, {
        'task': task.dumpDetail(),
        'flow': flow.dumpDetail()
    })
Exemple #13
0
def flowSocializationById():
    # 流程所有者将流程公有化(所有用户可见但只有所有者可修改、删除)
    flowId = flask.request.form.get('id')
    if not flowId:
        return flask.jsonify({
            'code': ErrorCode.NoFlowIdInReq
        })
    flow = WorkFlowDao.queryWorkflow(flowId, getUserId())
    
    if flow:
        flow.type = 'mutual'
        WorkFlowDao.saveWorkflow(flow)
        return flask.jsonify({
            'code': ErrorCode.NoError,
            'flowId': flowId
        })
    else:
        return flask.jsonify({
            'code': ErrorCode.NotFindFlowById,
            'flowId': flowId
        })
Exemple #14
0
def getWorkFlowList():
    # config.Log.info('userid = %s' % getUserId())
    wfs = [wf.dumpInfo() for wf in WorkFlowDao.workflowList(getUserId())]
    return flask.jsonify(wfs)
Exemple #15
0
def getWorkFlow(id):
    wf = WorkFlowDao.queryWorkflow(id, getUserId())
    return flask.jsonify(wf.dumpDetail() if wf else {})
Exemple #16
0
def getFlowUiData(id):
    return UiDataDao.getData(id, getUserId())
Exemple #17
0
def getListByDirId(id):
    userid = getUserId()
    if not userid:
        return flask.jsonify({'code': ErrorCode.NotFindUser})
    return flask.jsonify(webos.listDirByDirId(userid, id))
Exemple #18
0
def getIOputMsg(id):
    userid = getUserId()
    if not userid:
        return flask.jsonify({'code': ErrorCode.NotFindUser})
    return flask.jsonify(webos.listInputOutputDir(userid, id, userid))
Exemple #19
0
def dirLists(id):
    userid = getUserId()
    if not userid:
        return flask.jsonify({'code': ErrorCode.NotFindUser})
    return flask.jsonify(webos.listTaskDir(userid, id, userid))
Exemple #20
0
def taskList():
    flowId = flask.request.args.get('flowId')
    if not flowId:
        return flask.jsonify({'code': ErrorCode.NoFlowIdInReq})
    tasks = [task.dumpInfo() for task in TaskDao.taskList(getUserId(), flowId)]
    return flask.jsonify(tasks)
Exemple #21
0
def getWorkFlowListByKey(key):
    wfs = [wf.dumpInfo() for wf in WorkFlowDao.queryByKey(key, getUserId())]
    return flask.jsonify(wfs)
Exemple #22
0
def taskDetail(id):
    task = TaskDao.queryTask(id, getUserId())
    taskObj = task.dumpDetail() if task else {}
    return flask.jsonify(taskObj)