fix latex auto correct
This commit is contained in:
@@ -4,12 +4,14 @@ import pickle
|
|||||||
class SafeUnpickler(pickle.Unpickler):
|
class SafeUnpickler(pickle.Unpickler):
|
||||||
|
|
||||||
def get_safe_classes(self):
|
def get_safe_classes(self):
|
||||||
from .latex_actions import LatexPaperFileGroup, LatexPaperSplit
|
from crazy_functions.latex_fns.latex_actions import LatexPaperFileGroup, LatexPaperSplit
|
||||||
|
from crazy_functions.latex_fns.latex_toolbox import LinkedListNode
|
||||||
# 定义允许的安全类
|
# 定义允许的安全类
|
||||||
safe_classes = {
|
safe_classes = {
|
||||||
# 在这里添加其他安全的类
|
# 在这里添加其他安全的类
|
||||||
'LatexPaperFileGroup': LatexPaperFileGroup,
|
'LatexPaperFileGroup': LatexPaperFileGroup,
|
||||||
'LatexPaperSplit' : LatexPaperSplit,
|
'LatexPaperSplit': LatexPaperSplit,
|
||||||
|
'LinkedListNode': LinkedListNode,
|
||||||
}
|
}
|
||||||
return safe_classes
|
return safe_classes
|
||||||
|
|
||||||
@@ -20,6 +22,8 @@ class SafeUnpickler(pickle.Unpickler):
|
|||||||
for class_name in self.safe_classes.keys():
|
for class_name in self.safe_classes.keys():
|
||||||
if (class_name in f'{module}.{name}'):
|
if (class_name in f'{module}.{name}'):
|
||||||
match_class_name = class_name
|
match_class_name = class_name
|
||||||
|
if module == 'numpy' or module.startswith('numpy.'):
|
||||||
|
return super().find_class(module, name)
|
||||||
if match_class_name is not None:
|
if match_class_name is not None:
|
||||||
return self.safe_classes[match_class_name]
|
return self.safe_classes[match_class_name]
|
||||||
# 如果尝试加载未授权的类,则抛出异常
|
# 如果尝试加载未授权的类,则抛出异常
|
||||||
|
|||||||
22
tests/test_latex_auto_correct.py
Normal file
22
tests/test_latex_auto_correct.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
"""
|
||||||
|
对项目中的各个插件进行测试。运行方法:直接运行 python tests/test_plugins.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
import os, sys, importlib
|
||||||
|
|
||||||
|
|
||||||
|
def validate_path():
|
||||||
|
dir_name = os.path.dirname(__file__)
|
||||||
|
root_dir_assume = os.path.abspath(dir_name + "/..")
|
||||||
|
os.chdir(root_dir_assume)
|
||||||
|
sys.path.append(root_dir_assume)
|
||||||
|
|
||||||
|
|
||||||
|
validate_path() # 返回项目根路径
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
plugin_test = importlib.import_module('test_utils').plugin_test
|
||||||
|
|
||||||
|
|
||||||
|
plugin_test(plugin='crazy_functions.Latex_Function->Latex翻译中文并重新编译PDF', main_input="2203.01927")
|
||||||
Reference in New Issue
Block a user