ソースを参照

增加动态导包

dongzhaorui 1 年間 前
コミット
be7161a712
1 ファイル変更12 行追加1 行削除
  1. 12 1
      FworkSpider/feapder/utils/tools.py

+ 12 - 1
FworkSpider/feapder/utils/tools.py

@@ -15,6 +15,7 @@ import datetime
 import functools
 import hashlib
 import html
+import importlib
 import json
 import os
 import pickle
@@ -38,7 +39,6 @@ from urllib import request
 from urllib.parse import urljoin
 
 import bson
-import execjs  # pip install PyExecJS
 import redis
 import requests
 import six
@@ -50,6 +50,11 @@ from feapder.db.redisdb import RedisDB
 from feapder.utils.email_sender import EmailSender
 from feapder.utils.log import log
 
+try:
+    import execjs  # pip install PyExecJS
+except Exception as e:
+    pass
+
 os.environ["EXECJS_RUNTIME"] = "Node"  # 设置使用node执行js
 
 # 全局取消ssl证书验证
@@ -2576,3 +2581,9 @@ def ensure_int64(n):
     if not n:
         return bson.int64.Int64(0)
     return bson.int64.Int64(n)
+
+
+def import_cls(cls_info):
+    module, class_name = cls_info.rsplit(".", 1)
+    cls = importlib.import_module(module).__getattribute__(class_name)
+    return cls