Просмотр исходного кода

Merge remote-tracking branch 'origin/pool/python_update'

# Conflicts:
#	services/base_from_python.go
Roc 3 дней назад
Родитель
Сommit
74faceae44
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      services/base_from_python.go

+ 6 - 3
services/base_from_python.go

@@ -87,7 +87,7 @@ func ExecPythonCode(edbCode, reqCode string) (dataMap models.EdbDataFromPython,
 		return
 	}
 	defer func() {
-		os.Remove(pythonFile)
+		//os.Remove(pythonFile)
 	}()
 	_, err = fileHandle.Write([]byte(pythonCodeStr))
 	if err != nil {
@@ -177,7 +177,10 @@ func getPythonFrontStr() string {
 	case `dm`:
 		codeStr = fmt.Sprintf("#!/usr/bin/python\n# -*- coding: UTF-8 -*-\nimport json\n\nimport dmPython\nimport pandas as pd\nfrom pymongo import MongoClient\nimport pytz\n\nproperties = %s\n\ndb = dmPython.connect(**properties)\ncursor = db.cursor()\npandas_fetch_all = pd.read_sql\n\n", utils.PYTHON_DM_CONNECT_PARAM)
 	default:
-		codeStr = fmt.Sprintf("#!/usr/bin/python\n# -*- coding: UTF-8 -*-\nimport json\n\nimport pymysql\nimport pandas as pd\nfrom pymongo import MongoClient\nimport pytz\n\nsql_config = {\n    'host': '%s',\n    'port': 3306,#主机号\n    'user': '%s',#账户名\n    'passwd': '%s',#密码\n    'db': '%s',\n    'charset': 'utf8mb4',\n    'cursorclass': pymysql.cursors.DictCursor\n}\n\ndb = pymysql.connect(**sql_config)\ndb.autocommit(1)\ncursor = db.cursor()\npandas_fetch_all = pd.read_sql\n\n", utils.PYTHON_MYSQL_HOST, utils.PYTHON_MYSQL_USER, utils.PYTHON_MYSQL_PASSWD, utils.PYTHON_MYSQL_DB)
+		//codeStr = fmt.Sprintf("#!/usr/bin/python\n# -*- coding: UTF-8 -*-\nimport json\n\nimport pymysql\nimport pandas as pd\nfrom pymongo import MongoClient\nimport pytz\n\nsql_config = {\n    'host': '%s',\n    'port': 3306,#主机号\n    'user': '%s',#账户名\n    'passwd': '%s',#密码\n    'db': '%s',\n    'charset': 'utf8mb4',\n    'cursorclass': pymysql.cursors.DictCursor\n}\n\ndb = pymysql.connect(**sql_config)\ndb.autocommit(1)\ncursor = db.cursor()\npandas_fetch_all = pd.read_sql\n\n", utils.PYTHON_MYSQL_HOST, utils.PYTHON_MYSQL_USER, utils.PYTHON_MYSQL_PASSWD, utils.PYTHON_MYSQL_DB)
+		//str := fmt.Sprintf("#!/usr/bin/python\n# -*- coding: UTF-8 -*-\nimport json\n\nimport pymysql\nimport pandas as pd\nfrom pymongo import MongoClient\nimport pytz\n\nsql_config = {\n    'host': '%s',\n    'port': 3306,#主机号\n    'user': '%s',#账户名\n    'passwd': '%s',#密码\n    'db': '%s',\n    'charset': 'utf8mb4',\n    'cursorclass': pymysql.cursors.DictCursor\n}\n\ndb = pymysql.connect(**sql_config)\ndb.autocommit(1)\ncursor = db.cursor()\npandas_fetch_all = pd.read_sql\n\n", utils.PYTHON_MYSQL_HOST, utils.PYTHON_MYSQL_USER, utils.PYTHON_MYSQL_PASSWD, utils.PYTHON_MYSQL_DB)
+		codeStr:= fmt.Sprintf("#!/usr/bin/python\n# -*- coding: UTF-8 -*-\nimport json\n\nimport pandas as pd\nfrom sqlalchemy import create_engine\nfrom urllib.parse import quote_plus\nimport pytz\n\nencoded_host = quote_plus(\"%s\")\nencoded_user = quote_plus(\"%s\")\nencoded_password = quote_plus(\"%s\")\nencoded_database = quote_plus(\"%s\")\n\ndb = create_engine(f'mysql+mysqlconnector://{encoded_user}:{encoded_password}@{encoded_host}:3306/{encoded_database}')\npandas_fetch_all = pd.read_sql_query\n\n", utils.PYTHON_MYSQL_HOST, utils.PYTHON_MYSQL_USER, utils.PYTHON_MYSQL_PASSWD, utils.PYTHON_MYSQL_DB)
+
 
 	}
 
@@ -214,5 +217,5 @@ func getPythonFront3Str() string {
 
 // getPythonLaterStr 获取python结尾的代码
 func getPythonLaterStr() string {
-	return "\n\nprint(\"result=\", result.to_json())\ndb.close()"
+	return "\n\nprint(\"result=\", result.to_json())\n"
 }