Exemplo n.º 1
0
    def test_mark_text(self):
        text = "hello world"
        html = xutils.mark_text(text)
        self.assertEqual("hello world", html)

        text = "a link https://link"
        html = xutils.mark_text(text)
        self.assertEqual('a&nbsp;link&nbsp;<a target="_blank" href="https://link">https://link</a>', html)
Exemplo n.º 2
0
    def POST(self):
        sys.stdout.record()
        try:
            name = xutils.get_argument("name")
            path = xutils.get_argument("path")
            confirmed = xutils.get_argument("confirmed") == "true"
            input = xutils.get_argument("input", "")
            vars = dict()
            xutils.load_script(name, vars=vars)
            main_func = vars.get("main", None)
            if main_func is not None:
                main_func(path=path, confirmed=confirmed, input=input)
            else:
                print("main(**kw)方法未定义")
        except Exception as e:
            xutils.print_exc()

        header = "执行 %s<hr>" % name
        # footer = "\n%s\n执行完毕,请确认下一步操作" % line
        footer = ''
        result = sys.stdout.pop_record()
        html = header + xutils.mark_text(result)
        html += '''<input id="inputText" class="col-md-12" placeholder="请输入参数" value="%s">''' % input
        html += '''<div><button class="btn-danger" onclick="runPlugin('%s', true)">确认执行</button></div>''' % name
        return dict(code="success", data=html)
Exemplo n.º 3
0
 def GET(self):
     note_id = xutils.get_argument("note_id")
     comments = NOTE_DAO.list_comments(note_id)
     for comment in comments:
         if comment.content is None:
             continue
         comment.html = xutils.mark_text(comment.content)
     return comments
Exemplo n.º 4
0
def build_done_html(message):
    task = None
    done_time = message.done_time

    if message.ref != None:
        task = MSG_DAO.get_by_id(message.ref)

    if task != None:
        message.html = u("完成任务:<br>&gt;&nbsp;") + xutils.mark_text(
            task.content)
    elif done_time is None:
        done_time = message.mtime
        message.html += u("<br>------<br>完成于 %s") % done_time
Exemplo n.º 5
0
    def POST(self):
        func_ret = None
        sys.stdout.record()
        original_name = ""
        try:
            name = xutils.get_argument("name")
            path = xutils.get_argument("path")
            original_name = name
            confirmed = xutils.get_argument("confirmed") == "true"
            name, input = textutil.parse_simple_command(name)
            name = xconfig.get_alias(name, name)
            new_command = "%s %s" % (name, input)
            name, input = textutil.parse_simple_command(new_command)

            if not name.endswith(".py"):
                name += ".py"
            if input == "":
                input = xutils.get_argument("input", "")
            vars = dict()
            script_name = os.path.join("commands", name)
            script_path = os.path.join(xconfig.COMMANDS_DIR, name)
            if not os.path.exists(script_path):
                suggest_commands(name)
            else:
                xutils.load_script(script_name, vars=vars)
                main_func = vars.get("main", None)
                if main_func is not None:
                    real_path = xutils.get_real_path(path)
                    func_ret = main_func(path=real_path,
                                         confirmed=confirmed,
                                         input=input)
                else:
                    print("main(**kw)方法未定义")
        except Exception as e:
            xutils.print_exc()

        header = "执行 %s<hr>" % name
        # footer = "\n%s\n执行完毕,请确认下一步操作" % line
        footer = ''
        result = sys.stdout.pop_record()
        if xutils.get_doctype(result) == "html":
            html = header + result[6:]
        else:
            html = header + xutils.mark_text(result)
        html += '''<input id="inputText" class="col-md-12 hide" placeholder="请输入参数" value="">'''
        html += '''<div><button class="btn-danger" onclick="runPlugin('%s', true)">确认执行</button></div>''' % original_name
        return dict(code="success", data=html, name=name)
Exemplo n.º 6
0
def process_message(message):
    if message.status == 0 or message.status == 50:
        # 兼容历史数据
        message.tag = "task"
    if message.status == 100:
        message.tag = "done"

    if message.content is None:
        message.content = ""
        return message

    if message.tag == "key" or message.tag == "search":
        message.html = build_search_html(message.content)
    else:
        message.html = xutils.mark_text(message.content)

    if message.tag == "done":
        message.html += "<br>------<br>完成于 %s" % message.mtime
    return message
Exemplo n.º 7
0
def process_message(message):
    if message.status == 0 or message.status == 50:
        # 兼容历史数据
        message.tag = "task"
    if message.status == 100:
        message.tag = "done"

    message.tag_text = TAG_TEXT_DICT.get(message.tag, message.tag)

    if message.content is None:
        message.content = ""
        return message

    if message.tag == "key" or message.tag == "search":
        message.html = build_search_html(message.content)
    else:
        message.html = xutils.mark_text(message.content)

    if message.tag == "done":
        build_done_html(message)
    return message
Exemplo n.º 8
0
def process_message(message):
    if message.status == 0 or message.status == 50:
        # 兼容历史数据
        message.tag = "task"
    if message.status == 100:
        message.tag = "done"

    message.tag_text = TAG_TEXT_DICT.get(message.tag, message.tag)

    if message.content is None:
        message.content = ""
        return message

    if message.tag == "key" or message.tag == "search":
        message.html = build_search_html(message.content)
    else:
        message.html = xutils.mark_text(message.content)

    if message.tag == "done":
        done_time = message.done_time
        if done_time is None:
            done_time = message.mtime
        message.html += "<br>------<br>完成于 %s" % done_time
    return message
Exemplo n.º 9
0
def process_message(message):
    message.html = xutils.mark_text(message.content)
    return message
Exemplo n.º 10
0
def get_thread_log(thread):
    records = MyStdout.get_records(thread)
    if records is None:
        return "[无]"
    return xutils.mark_text("".join(records))