30
30
from pprint import pprint
31
31
32
32
33
- class ImportCore () :
33
+ class ImportCore :
34
34
35
- POSTPROTOOLNAME = 'importtools'
35
+ POSTPROTOOLNAME = "lamiaimport"
36
36
37
-
38
- def __init__ (self , dbaseparser ,messageinstance = None ):
39
- #super(ExportShapefileTool, self).__init__(dbase, dialog, linkedtreewidget, gpsutil, parentwidget, parent=parent)
37
+ def __init__ (self , dbaseparser , messageinstance = None ):
38
+ # super(ExportShapefileTool, self).__init__(dbase, dialog, linkedtreewidget, gpsutil, parentwidget, parent=parent)
40
39
self .dbase = dbaseparser
41
40
self .messageinstance = messageinstance
42
- self .tooldir = os .path .join (os .path .dirname (__file__ ), self .dbase .worktype .lower ())
43
-
44
- self .confdataplugin = os .path .join (os .path .dirname (__file__ ), self .dbase .worktype .lower ())
45
- self .confdataproject = os .path .join (self .dbase .dbaseressourcesdirectory , 'config' , self .POSTPROTOOLNAME )
46
-
47
-
48
- def importCleanedDatas (self , rawtablename = None , table_field_list = None , values = None , geoms = None , returnfield = None ):
41
+ self .tooldir = os .path .join (
42
+ os .path .dirname (__file__ ), self .dbase .worktype .lower ()
43
+ )
44
+
45
+ self .confdataplugin = os .path .join (
46
+ os .path .dirname (__file__ ), self .dbase .worktype .lower ()
47
+ )
48
+ self .confdataproject = os .path .join (
49
+ self .dbase .dbaseressourcesdirectory , "config" , self .POSTPROTOOLNAME
50
+ )
51
+
52
+ def importCleanedDatas (
53
+ self ,
54
+ rawtablename = None ,
55
+ table_field_list = None ,
56
+ values = None ,
57
+ geoms = None ,
58
+ returnfield = None ,
59
+ ):
49
60
50
61
"""
51
62
@@ -59,84 +70,84 @@ def importCleanedDatas(self, rawtablename=None, table_field_list=None, values=No
59
70
60
71
debug = False
61
72
62
- tablesnames = np .array ([result .split ('.' )[0 ] for result in table_field_list ])
63
- fieldsnames = np .array ([result .split ('.' )[1 ] for result in table_field_list ])
73
+ tablesnames = np .array ([result .split ("." )[0 ] for result in table_field_list ])
74
+ fieldsnames = np .array ([result .split ("." )[1 ] for result in table_field_list ])
64
75
65
76
parenttables = [rawtablename ] + self .dbase .getParentTable (rawtablename )
66
- self .messageinstance .createProgressBar (inittext = "import ..." , maxvalue = len (values ))
77
+ self .messageinstance .createProgressBar (
78
+ inittext = "import ..." , maxvalue = len (values )
79
+ )
67
80
68
81
self .dbase .beginTransaction ()
69
82
70
83
# cas des couches enfant de descriptionsystem
71
84
for i , valueline in enumerate (values ):
72
85
valueline = np .array (valueline )
73
- #self.setLoadingProgressBar(progress, i)
74
- if i % 50 == 0 :
86
+ # self.setLoadingProgressBar(progress, i)
87
+ if i % 50 == 0 :
75
88
self .messageinstance .updateProgressBar (i )
76
89
77
90
pktablename = self .dbase .createNewFeature (rawtablename )
78
91
79
92
for tablename in parenttables :
80
- pktable = self .dbase .getValuesFromPk (rawtablename + '_qgis' ,
81
- ' pk_' + tablename .lower (),
82
- pktablename )
93
+ pktable = self .dbase .getValuesFromPk (
94
+ rawtablename + "_qgis" , " pk_" + tablename .lower (), pktablename
95
+ )
83
96
indexobjectvalues = np .where (np .array (tablesnames ) == tablename )
84
97
lisfield = fieldsnames [indexobjectvalues ]
85
98
listvalues = valueline [indexobjectvalues ]
86
- self .updateTable ( tablename , lisfield , listvalues , pktable )
99
+ self .updateTable (tablename , lisfield , listvalues , pktable )
87
100
88
- if ' geom' in self .dbase .dbasetables [tablename ].keys ():
89
- if self .dbase .__class__ .TYPE == ' spatialite' :
101
+ if " geom" in self .dbase .dbasetables [tablename ].keys ():
102
+ if self .dbase .__class__ .TYPE == " spatialite" :
90
103
geomsql = "CastToSingle(CastToXY(ST_GeomFromText('"
91
104
geomsql += geoms [i ]
92
105
geomsql += "', " + str (self .dbase .crsnumber ) + ")))"
93
- elif self .dbase .__class__ .TYPE == ' postgis' :
106
+ elif self .dbase .__class__ .TYPE == " postgis" :
94
107
geomsql = "ST_GeometryN(ST_Force2D(ST_GeomFromText('"
95
108
geomsql += geoms [i ]
96
109
geomsql += "', " + str (self .dbase .crsnumber ) + ")),0)"
97
110
98
- self .updateTable ( tablename , ['geom' ], [geomsql ], pktable )
99
-
100
-
111
+ self .updateTable (tablename , ["geom" ], [geomsql ], pktable )
101
112
102
113
self .dbase .commitTransaction ()
103
114
104
115
self .messageinstance .closeProgressBar ()
105
116
106
- def updateTable (self , tablename , listfield , listvalues , pkvalue ):
117
+ def updateTable (self , tablename , listfield , listvalues , pkvalue ):
107
118
108
119
sql = "UPDATE " + tablename + " SET "
109
120
for i , fieldname in enumerate (listfield ):
110
- if listvalues [i ] != '' :
121
+ if listvalues [i ] != "" :
111
122
sql += fieldname + " = "
112
- sql += self .convertDataType (tablename , fieldname , listvalues [i ]) + ', '
123
+ sql += self .convertDataType (tablename , fieldname , listvalues [i ]) + ", "
113
124
114
- if sql [- 2 :] == ', ' :
125
+ if sql [- 2 :] == ", " :
115
126
sql = sql [:- 2 ]
116
- sql += " WHERE pk_" + tablename .lower () + " = " + str (pkvalue )
127
+ sql += " WHERE pk_" + tablename .lower () + " = " + str (pkvalue )
117
128
query = self .dbase .query (sql , docommit = False )
118
129
119
- def convertDataType (self , table ,field , value ):
120
- if field == ' geom' :
130
+ def convertDataType (self , table , field , value ):
131
+ if field == " geom" :
121
132
return str (value )
122
133
123
134
if self .dbase .utils .isAttributeNull (value ):
124
- return ' NULL'
135
+ return " NULL"
125
136
126
- typevalue = self .dbase .dbasetables [table ][' fields' ][field ][' PGtype' ]
127
- #getConstraintRawValueFromText(self, table, field, txt):
137
+ typevalue = self .dbase .dbasetables [table ][" fields" ][field ][" PGtype" ]
138
+ # getConstraintRawValueFromText(self, table, field, txt):
128
139
rawvalue = self .dbase .getConstraintRawValueFromText (table , field , value )
129
140
130
- if ' VARCHAR' in typevalue :
141
+ if " VARCHAR" in typevalue :
131
142
returnvalue = "'" + str (rawvalue ) + "'"
132
- elif ' TIMESTAMP' in typevalue :
143
+ elif " TIMESTAMP" in typevalue :
133
144
returnvalue = "'" + str (rawvalue ) + "'"
134
- elif ' TEXT' in typevalue :
145
+ elif " TEXT" in typevalue :
135
146
returnvalue = "'" + str (rawvalue ) + "'"
136
147
else :
137
148
returnvalue = str (rawvalue )
138
149
139
150
return returnvalue
140
151
141
- def postImport (self ,layerfeat , pkobjet = None , pkdessys = None , pksubdessys = None ):
152
+ def postImport (self , layerfeat , pkobjet = None , pkdessys = None , pksubdessys = None ):
142
153
pass
0 commit comments