Ver código fonte

配置文件统一修改

gushoubang 1 semana atrás
pai
commit
1c7f7d0026

+ 26 - 0
.env

@@ -0,0 +1,26 @@
+# database
+db_host=192.168.60.52
+db_port=5432
+db_schema=vector
+db_user=postgres
+db_password=postgres
+db_name=real3d
+
+# redis
+redis_host=192.168.60.220
+redis_port=6379
+redis_db=0
+
+# geoserver
+gs_url=http://192.168.60.2:28085/geoserver
+gs_user=admin
+gs_password=geoserver
+gs_default_workspace=demo
+
+# ftp
+ftp_host = '192.168.60.52'
+ftp_port = 2021
+ftp_username = 'user1'
+ftp_password = 'password'
+model_viewer_uri = 'http://192.168.60.52:8091/website/#model='
+model_baseUri = 'http://192.168.60.52:8090'

+ 0 - 1
.gitignore

@@ -117,7 +117,6 @@ celerybeat.pid
 *.sage.py
 
 # Environments
-.env
 .venv
 env/
 venv/

+ 33 - 0
config.json

@@ -0,0 +1,33 @@
+{
+  "db": {
+    "host": "192.168.60.52",
+    "port": "5432",
+    "schema": "vector",
+    "user": "postgres",
+    "password": "postgres",
+    "name": "real3d"
+  },
+  "redis": {
+    "host": "192.168.60.220",
+    "port": 6379,
+    "db": 0
+  },
+  "geoserver": {
+    "url": "http://192.168.60.2:28085/geoserver",
+    "username": "admin",
+    "password": "geoserver",
+    "default_workspace": "demo",
+    "cachestart": "0",
+    "cacheend": "15"
+  },
+  "ftp": {
+    "host": "192.168.60.52",
+    "port": 2021,
+    "username": "user1",
+    "password": "password"
+  },
+  "model": {
+    "viewer_uri": "http://192.168.60.52:8091/website/#model=",
+    "base_uri": "http://192.168.60.52:8090"
+  }
+}

+ 11 - 0
config.py

@@ -0,0 +1,11 @@
+# config.py
+import os
+import json
+
+CONFIG_PATH = os.path.join(os.path.dirname(__file__), 'config.json')
+
+with open(CONFIG_PATH, 'r') as f:
+    CONFIG = json.load(f)
+
+# 可导出为全局访问变量
+globals()['CONFIG'] = CONFIG

+ 18 - 14
processing/algs/gdal/GdalAlgorithm.py

@@ -52,32 +52,36 @@ from processing.tools.SubprocessUtils import RunSubprocess
 import processing.tools.QGS.load
 from qgis.PyQt.QtCore import NULL
 
+import config
+
 pluginPath = os.path.normpath(os.path.join(
     os.path.split(os.path.dirname(__file__))[0], os.pardir))
 
 
 class GdalAlgorithm(QgsProcessingAlgorithm):
-
     def __init__(self):
         super().__init__()
-        # TODO wanger GdalAlgorithm全局参数配置
+        self.db_config = config.CONFIG['db']
+        self.geoserver_config = config.CONFIG['geoserver']
+
+        # 全局参数修改
         self.output_values = {}
         self.spatialite_db_path = "D:\\temp\\output.sqlite"
         self.pgcoon = {
-            "host": "192.168.60.52",
-            "schema": "vector",
-            "port": "5432",
-            "user": "postgres",
-            "password": "postgres",
-            "dbname": "real3d"
+            "host": self.db_config['host'],
+            "schema": self.db_config['schema'],
+            "port": self.db_config['port'],
+            "user": self.db_config['user'],
+            "password": self.db_config['password'],
+            "dbname": self.db_config['name']
         }
         self.geoservercoon = {
-            "url": "http://192.168.60.2:28085/geoserver",
-            "username": "admin",
-            "password": "geoserver",
-            "defaultworkspace": "demo",
-            "cachestart": "0",
-            "cacheend": "15"
+            "url": self.geoserver_config['url'],
+            "username": self.geoserver_config['username'],
+            "password": self.geoserver_config['password'],
+            "defaultworkspace": self.geoserver_config['default_workspace'],
+            "cachestart": self.geoserver_config['cachestart'],
+            "cacheend": self.geoserver_config['cacheend']
         }
 
     def icon(self):

+ 8 - 4
processing/algs/gdal/postgistogeoserver.py

@@ -53,6 +53,7 @@ from processing.tools.StringUtils import getConnectionStr
 from processing.tools.GeoServer.Geoserver import Geoserver
 
 from processing.tools.system import isWindows
+import config
 
 pluginPath = os.path.normpath(os.path.join(
     os.path.split(os.path.dirname(__file__))[0], os.pardir))
@@ -85,11 +86,14 @@ class Postgistogeoserver(GdalAlgorithm):
     # 关联平台资源目录标识码
     ZYMLBSM = "ZYMLBSM"
     selectedValue = "selectedValue"
+
+    # 全局参数修改
+    geoserver_config = config.CONFIG['geoserver']
     GeoServerConfig = {
-        "url": "http://192.168.60.2:28085/geoserver",
-        "username": "admin",
-        "password": "geoserver",
-        "defaultworkspace": "demo"
+        "url": geoserver_config["url"],
+        "username": geoserver_config["username"],
+        "password": geoserver_config["password"],
+        "defaultworkspace": geoserver_config["default_workspace"],
     }
 
     def __init__(self):

+ 12 - 6
processing/tools/FTP/FtpConfig.py

@@ -1,6 +1,12 @@
-ftpHost = '192.168.60.52'
-ftpPort = 2021
-ftpUsername = 'user1'
-ftpPassword = 'password'
-modelViewerUri = 'http://192.168.60.52:8091/website/#model='
-modelBaseUri = 'http://192.168.60.52:8090'
+import config
+
+# 全局参数修改
+ftp_config = config.CONFIG['ftp']
+model_config = config.CONFIG['model']
+
+ftpHost = ftp_config['host']
+ftpPort = ftp_config['port']
+ftpUsername = ftp_config['username']
+ftpPassword = ftp_config['password']
+modelViewerUri = model_config['viewer_uri']
+modelBaseUri = model_config['base_uri']

+ 10 - 6
processing/tools/FileGDB/ImportGDB.py

@@ -1,6 +1,7 @@
 import os
 import subprocess
 import psycopg2
+import config
 from osgeo import ogr
 
 from qgis.core import *
@@ -46,14 +47,17 @@ def getLayerGeometryType(geom_type):
 
 layer_count = gdb.GetLayerCount()
 if layer_count > 0:
+    # 全局参数修改
+    db_config = config.CONFIG['db']
+
     # 数据库连接参数
     db_params = {
-        'host': '192.168.60.52',
-        'port': '5432',
-        'dbname': 'real3d',
-        'user': 'postgres',
-        'password': 'postgres',
-        'schema': 'vector'
+        'host': db_config['host'],
+        'port': db_config['port'],
+        'dbname': db_config['name'],
+        'user': db_config['user'],
+        'password': db_config['password'],
+        'schema': db_config['schema']
     }
     # 将每个图层导入到 PostGIS
     pg_conn_string = f'PG:"host={db_params["host"]} port={db_params["port"]} dbname={db_params["dbname"]} user={db_params["user"]} password={db_params["password"]} active_schema={db_params["schema"]}"'

+ 4 - 1
processing/tools/GeoServer/GeoServerRest.py

@@ -1,8 +1,11 @@
 # -*- coding: utf-8 -*-
 from Geoserver import Geoserver
+import config
+
+geoserver_config = config.CONFIG['geoserver']
 
 # 连接GeoServer
-geo = Geoserver('http://192.168.60.2:28085/geoserver', username='admin', password='geoserver')
+geo = Geoserver(geoserver_config['url'], username=geoserver_config['username'], password=geoserver_config['password'])
 geo.create_datastore(name="wuchuan0705", path=r'D:\temp\wuchuan0705.shp', workspace='spot')
 geo.publish_featurestore(workspace='spot', store_name='wuchuan0705', pg_table='wuchuan0705')
 geo.publish_style(layer_name='wuchuan0705', style_name='spot', workspace='spot')

+ 9 - 6
processing/tools/Login/PostgreSQL.py

@@ -10,20 +10,23 @@ from typing import Optional
 import os
 import psycopg2
 import uuid
+import config
 
 
 class PostgreSQL:
     # 用户表
     Sys_user = "sys_user"
+    # 全局参数修改
+    db_config = config.CONFIG['db']
 
     def __init__(
             self,
-            host: Optional[str] = "192.168.60.52",  # default host during installation
-            port: Optional[str] = "5432",  # default port during pg installation
-            user: Optional[str] = "postgres",  # default user during pg installation
-            password: Optional[str] = "postgres",  # default password during pg installation
-            dbname: Optional[str] = "real3d",  # default dbname during pg installation
-            schema: Optional[str] = None
+            host: Optional[str] = db_config['host'],  # default host during installation
+            port: Optional[str] = db_config['port'],  # default port during pg installation
+            user: Optional[str] = db_config['user'],  # default user during pg installation
+            password: Optional[str] = db_config['password'],  # default password during pg installation
+            dbname: Optional[str] = db_config['name'],  # default dbname during pg installation
+            schema: Optional[str] = db_config['schema']
     ):
         # 配置数据库连接参数并指定schema
         self.connparams = {

+ 7 - 3
processing/tools/Login/Redis.py

@@ -11,6 +11,7 @@ import os
 import uuid
 import redis
 import socket
+import config
 
 
 class Redis:
@@ -19,11 +20,14 @@ class Redis:
     hostname = socket.gethostname()
     ipaddress = socket.gethostbyname(hostname)
 
+    # 全局参数修改
+    redis_config = config.CONFIG['redis']
+
     def __init__(
             self,
-            host: Optional[str] = "192.168.60.220",
-            port: Optional[int] = 6379,
-            db: Optional[int] = 0,
+            host: Optional[str] = redis_config['host'],
+            port: Optional[int] = redis_config['port'],
+            db: Optional[int] = redis_config['db'],
     ):
         self.redis_client = redis.Redis(host=host, port=port, db=db)
 

+ 10 - 6
processing/tools/PostgreSQL/PostgreSQL.py

@@ -10,6 +10,7 @@ from typing import Optional
 import os
 import psycopg2
 import uuid
+import config
 from ..FTP.FtpUitl import FtpOper
 from ..FTP.FtpConfig import *
 from ..FileUtils import getInputFileName
@@ -37,14 +38,17 @@ class PostgreSQL:
     # 版本控制详情表
     Vector_Version_Details = "t_vector_version_details"
 
+    # 全局参数修改
+    db_config = config.CONFIG['db']
+
     def __init__(
             self,
-            host: Optional[str] = "192.168.60.52",  # default host during installation
-            port: Optional[str] = "5432",  # default port during pg installation
-            user: Optional[str] = "postgres",  # default user during pg installation
-            password: Optional[str] = "postgres",  # default password during pg installation
-            dbname: Optional[str] = "real3d",  # default dbname during pg installation
-            schema: Optional[str] = None
+            host: Optional[str] = db_config['host'],  # default host during installation
+            port: Optional[str] = db_config['port'],  # default port during pg installation
+            user: Optional[str] = db_config['user'],  # default user during pg installation
+            password: Optional[str] = db_config['password'],  # default password during pg installation
+            dbname: Optional[str] = db_config['name'],  # default dbname during pg installation
+            schema: Optional[str] = db_config['schema']
     ):
         # 配置数据库连接参数并指定schema
         self.connparams = {