mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
[processing] add ability to choose encoding when importing into PostGIS (fix #14687)
This commit is contained in:
parent
9928980851
commit
8ad1e3c8bc
@ -51,6 +51,7 @@ class ImportIntoPostGIS(GeoAlgorithm):
|
|||||||
LOWERCASE_NAMES = 'LOWERCASE_NAMES'
|
LOWERCASE_NAMES = 'LOWERCASE_NAMES'
|
||||||
DROP_STRING_LENGTH = 'DROP_STRING_LENGTH'
|
DROP_STRING_LENGTH = 'DROP_STRING_LENGTH'
|
||||||
PRIMARY_KEY = 'PRIMARY_KEY'
|
PRIMARY_KEY = 'PRIMARY_KEY'
|
||||||
|
ENCODING = 'ENCODING'
|
||||||
|
|
||||||
def defineCharacteristics(self):
|
def defineCharacteristics(self):
|
||||||
self.name, self.i18n_name = self.trAlgorithm('Import into PostGIS')
|
self.name, self.i18n_name = self.trAlgorithm('Import into PostGIS')
|
||||||
@ -69,6 +70,9 @@ class ImportIntoPostGIS(GeoAlgorithm):
|
|||||||
self.tr('Primary key field'), self.INPUT, optional=True))
|
self.tr('Primary key field'), self.INPUT, optional=True))
|
||||||
self.addParameter(ParameterString(self.GEOMETRY_COLUMN,
|
self.addParameter(ParameterString(self.GEOMETRY_COLUMN,
|
||||||
self.tr('Geometry column'), 'geom'))
|
self.tr('Geometry column'), 'geom'))
|
||||||
|
self.addParameter(ParameterString(self.ENCODING,
|
||||||
|
self.tr('Encoding'), 'UTF-8',
|
||||||
|
optional=True))
|
||||||
self.addParameter(ParameterBoolean(self.OVERWRITE,
|
self.addParameter(ParameterBoolean(self.OVERWRITE,
|
||||||
self.tr('Overwrite'), True))
|
self.tr('Overwrite'), True))
|
||||||
self.addParameter(ParameterBoolean(self.CREATEINDEX,
|
self.addParameter(ParameterBoolean(self.CREATEINDEX,
|
||||||
@ -86,6 +90,7 @@ class ImportIntoPostGIS(GeoAlgorithm):
|
|||||||
convertLowerCase = self.getParameterValue(self.LOWERCASE_NAMES)
|
convertLowerCase = self.getParameterValue(self.LOWERCASE_NAMES)
|
||||||
dropStringLength = self.getParameterValue(self.DROP_STRING_LENGTH)
|
dropStringLength = self.getParameterValue(self.DROP_STRING_LENGTH)
|
||||||
primaryKeyField = self.getParameterValue(self.PRIMARY_KEY)
|
primaryKeyField = self.getParameterValue(self.PRIMARY_KEY)
|
||||||
|
encoding = self..getParameterValue(self.ENCODING)
|
||||||
settings = QSettings()
|
settings = QSettings()
|
||||||
mySettings = '/PostgreSQL/connections/' + connection
|
mySettings = '/PostgreSQL/connections/' + connection
|
||||||
try:
|
try:
|
||||||
@ -138,6 +143,9 @@ class ImportIntoPostGIS(GeoAlgorithm):
|
|||||||
else:
|
else:
|
||||||
uri.setDataSource(schema, table, geomColumn, '')
|
uri.setDataSource(schema, table, geomColumn, '')
|
||||||
|
|
||||||
|
if encoding:
|
||||||
|
layer.setProviderEncoding(encoding)
|
||||||
|
|
||||||
(ret, errMsg) = QgsVectorLayerImport.importLayer(
|
(ret, errMsg) = QgsVectorLayerImport.importLayer(
|
||||||
layer,
|
layer,
|
||||||
uri.uri(),
|
uri.uri(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user