Exemple #1
0
    def GET(self):
        inp = utils.Input()

        domains = inp.split('domains')
        if not domains:
            return messages.ArgumentInvalid

        result = asyncio.run(
            asyncio.wait([self.check(domain) for domain in domains]))
        return 0, 'success', [r.result() for r in result[0]]
Exemple #2
0
    def GET(self):
        inp = utils.Input()

        result = task.TaskDAL.query(inp.int('status'), inp.offset, inp.limit)
        if result:
            result.page = inp.page
            result.offset = inp.offset
            result.limit = inp.limit

            return 0, 'success', result

        return messages.NotFound
Exemple #3
0
    def GET(self):
        inp = utils.Input()

        domains = inp.split('domains')
        if not domains:
            return messages.ArgumentInvalid

        self.proxy = inp.boolean('proxy')

        result = asyncio.run(
            asyncio.wait([self.ping_get(domain) for domain in domains]))
        return 0, 'success', [r.result() for r in result[0]]
Exemple #4
0
    def POST(self):
        inp = utils.Input()
        task_id = inp.int('task_id')

        if task_id <= 0:
            return messages.ArgumentInvalid

        tk = task.TaskDAL.load(task_id)
        if tk is None:
            return messages.NotFound

        if tk.status != enums.Task.Status.Failure:
            return 2, u'只有状态为处理失败的任务才能重新激活'

        if tk.active():
            return messages.Success

        return messages.NoOperation
Exemple #5
0
    def POST(self):
        inp = utils.Input()

        role_id = inp.int('role_id')
        if role_id < 0:
            return messages.ArgumentInvalid

        role_name = inp.name
        if not role_name:
            return messages.ArgumentInvalid

        func_ids = inp.json('func_ids')
        if role_id > 0:
            result = web.ctx.admin.auth.update_role(role_id, role_name, func_ids)
        else:
            result = web.ctx.admin.auth.add_role(role_name, func_ids)

        result = enums.Auth.RoleSaveResult.find(result)
        return result.value, result.text
Exemple #6
0
    def GET(self):
        inp, me = utils.Input(), web.ctx.admin
        # 角色内码
        role_id = inp.int('role_id')
        if role_id <= 0:
            return messages.ArgumentInvalid

        role = me.auth.find_role_by_id(role_id)
        if not role:
            return messages.NotFound

        # 改角色所有激活的授权码
        actived_function_ids = [func['id'] for func in role['functions']]

        result = {}
        funcs = me.auth.find_all_functions()
        for func_type, funcs in funcs.iteritems():
            pfunc = result.get(func_type)
            if pfunc is None:
                ftype = enums.Auth.FunctionType.find(func_type)
                # 如果没有找到对应的授权功能类型
                # 跳过处理
                if ftype == enums.Auth.FunctionType.Unknown:
                    continue

                result[func_type] = {'children': []}
                result[func_type].update(ftype)

            for func in funcs:
                func.actived = func.id in actived_function_ids
                del func.code
                # 添加到对应功能类型的子列表中
                result[func_type]['children'].append(func)

        return 0, 'success', {
            'role': {
                'id': role['id'],
                'name': role['name'],
            },
            'functions': result.values(),
        }
Exemple #7
0
    def GET(self):
        inp = utils.Input()
        task_id = inp.int('task_id')

        if task_id <= 0:
            return messages.ArgumentInvalid

        tk = task.TaskDAL.load(task_id)
        if tk is None:
            return messages.NotFound

        # 读取最近5次的执行日志
        logs = task.TaskDAL.get_last_logs(task_id, 5)
        if logs:
            tk.logs = []
            for log in logs:
                log.status = enums.Task.Status.find(log.status)
                log.status_text = utils.json_loads(log.status_text)
                log.status_time = utils.timestamp2date(log.status_time)
                tk.logs.append(log)

        return 0, 'success', tk