File size: 3,515 Bytes
e39c511
 
f238a34
0f28564
77408f7
7186d9b
 
 
81741bc
7186d9b
77408f7
e39c511
5772fae
e39c511
 
81741bc
ac2c8ca
e39c511
 
81741bc
ac2c8ca
 
 
81741bc
 
 
 
 
f238a34
 
 
0f28564
 
 
 
81741bc
77408f7
 
 
5772fae
3f559ec
 
 
e39c511
 
81741bc
d08edf7
81741bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d08edf7
81741bc
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

def get_crazy_functionals():
    from crazy_functions.读文章写摘要 import 读文章写摘要
    from crazy_functions.批量总结PDF文档 import 批量总结PDF文档
    from crazy_functions.生成函数注释 import 批量生成函数注释
    from crazy_functions.解析项目源代码 import 解析项目本身
    from crazy_functions.解析项目源代码 import 解析一个Python项目
    from crazy_functions.解析项目源代码 import 解析一个C项目的头文件
    from crazy_functions.解析项目源代码 import 解析一个C项目
    from crazy_functions.高级功能函数模板 import 高阶功能模板函数

    return {
        "[实验] 请解析并解构此项目本身": {
            "Function": 解析项目本身
        },
        "[实验] 解析整个py项目(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 解析一个Python项目
        },
        "[实验] 解析整个C++项目头文件(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 解析一个C项目的头文件
        },
        "[实验] 解析整个C++项目(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 解析一个C项目
        },
        "[实验] 读tex论文写摘要(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 读文章写摘要
        },
        "[实验] 批量总结pdf文档并生成双语摘要(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 批量总结PDF文档
        },
        "[实验] 批量生成函数注释(配合input输入框)": {
            "Color": "stop",    # 按钮颜色
            "Function": 批量生成函数注释
        },
        "[实验] 实验功能函数模板": {
            "Color": "stop",    # 按钮颜色
            "Function": 高阶功能模板函数
        },
    }

def on_file_uploaded(files, chatbot, txt):
    if len(files) == 0: return chatbot, txt
    import shutil, os, time, glob
    from toolbox import extract_archive
    try: shutil.rmtree('./private_upload/')
    except: pass
    time_tag = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())
    os.makedirs(f'private_upload/{time_tag}', exist_ok=True)
    for file in files:
        file_origin_name = os.path.basename(file.orig_name)
        shutil.copy(file.name, f'private_upload/{time_tag}/{file_origin_name}')
        extract_archive(f'private_upload/{time_tag}/{file_origin_name}', 
                        dest_dir=f'private_upload/{time_tag}/{file_origin_name}.extract')
    moved_files = [fp for fp in glob.glob('private_upload/**/*', recursive=True)]
    txt = f'private_upload/{time_tag}'
    moved_files_str = '\t\n\n'.join(moved_files)
    chatbot.append(['我上传了文件,请查收', 
                    f'[Local Message] 收到以下文件: \n\n{moved_files_str}\n\n调用路径参数已自动修正到: \n\n{txt}\n\n现在您可以直接选择任意实现性功能'])
    return chatbot, txt

def on_report_generated(files, chatbot):
    from toolbox import find_recent_files
    report_files = find_recent_files('gpt_log')
    if len(report_files) == 0: return report_files, chatbot
    # files.extend(report_files)
    chatbot.append(['汇总报告如何远程获取?', '汇总报告已经添加到右侧文件上传区,请查收。'])
    return report_files, chatbot