27
27
__revision__ = '$Format:%H$'
28
28
29
29
30
- from qgis .PyQt .QtCore import QSettings
31
-
32
30
from processing .core .parameters import ParameterVector
33
31
from processing .core .parameters import ParameterString
34
32
from processing .core .parameters import ParameterCrs
@@ -87,17 +85,15 @@ def __init__(self):
87
85
GdalAlgorithm .__init__ (self )
88
86
self .processing = False
89
87
90
- def dbConnectionNames (self ):
91
- settings = QSettings ()
92
- settings .beginGroup ('/PostgreSQL/connections/' )
93
- return settings .childGroups ()
94
-
95
88
def defineCharacteristics (self ):
96
89
self .name , self .i18n_name = self .trAlgorithm ('Import Vector into PostGIS database (available connections)' )
97
90
self .group , self .i18n_group = self .trAlgorithm ('[OGR] Miscellaneous' )
98
- self .DB_CONNECTIONS = self .dbConnectionNames ()
99
- self .addParameter (ParameterSelection (self .DATABASE ,
100
- self .tr ('Database (connection name)' ), self .DB_CONNECTIONS ))
91
+ self .addParameter (ParameterString (
92
+ self .DATABASE ,
93
+ self .tr ('Database (connection name)' ),
94
+ metadata = {
95
+ 'widget_wrapper' : {
96
+ 'class' : 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper' }}))
101
97
self .addParameter (ParameterVector (self .INPUT_LAYER ,
102
98
self .tr ('Input layer' )))
103
99
self .addParameter (ParameterString (self .SHAPE_ENCODING ,
@@ -110,11 +106,24 @@ def defineCharacteristics(self):
110
106
self .tr ('Reproject to this CRS on output ' ), '' , optional = True ))
111
107
self .addParameter (ParameterCrs (self .S_SRS ,
112
108
self .tr ('Override source CRS' ), '' , optional = True ))
113
- self .addParameter (ParameterString (self .SCHEMA ,
114
- self .tr ('Schema name' ), 'public' , optional = True ))
115
- self .addParameter (ParameterString (self .TABLE ,
116
- self .tr ('Table name, leave blank to use input name' ),
117
- '' , optional = True ))
109
+ self .addParameter (ParameterString (
110
+ self .SCHEMA ,
111
+ self .tr ('Schema name' ),
112
+ 'public' ,
113
+ optional = True ,
114
+ metadata = {
115
+ 'widget_wrapper' : {
116
+ 'class' : 'processing.gui.wrappers_postgis.SchemaWidgetWrapper' ,
117
+ 'connection_param' : self .DATABASE }}))
118
+ self .addParameter (ParameterString (
119
+ self .TABLE ,
120
+ self .tr ('Table name, leave blank to use input name' ),
121
+ '' ,
122
+ optional = True ,
123
+ metadata = {
124
+ 'widget_wrapper' : {
125
+ 'class' : 'processing.gui.wrappers_postgis.TableWidgetWrapper' ,
126
+ 'schema_param' : self .SCHEMA }}))
118
127
self .addParameter (ParameterString (self .PK ,
119
128
self .tr ('Primary key (new field)' ), 'id' , optional = True ))
120
129
self .addParameter (ParameterTableField (self .PRIMARY_KEY ,
@@ -168,7 +177,7 @@ def processAlgorithm(self, feedback):
168
177
self .processing = False
169
178
170
179
def getConsoleCommands (self ):
171
- connection = self .DB_CONNECTIONS [ self . getParameterValue (self .DATABASE )]
180
+ connection = self .getParameterValue (self .DATABASE )
172
181
uri = uri_from_name (connection )
173
182
if self .processing :
174
183
# to get credentials input when needed
0 commit comments