24
24
from builtins import zip
25
25
from builtins import next
26
26
from builtins import str
27
+ from hashlib import md5
27
28
28
29
from qgis .PyQt .QtCore import Qt , pyqtSignal
29
30
from qgis .PyQt .QtWidgets import QDialog , QWidget , QAction , QApplication , QInputDialog , QStyledItemDelegate , QTableWidgetItem
@@ -197,6 +198,9 @@ def writeQueryHistory(self, sql, affectedRows, secs):
197
198
198
199
self .populateQueryHistory ()
199
200
201
+ def getQueryHash (self , name ):
202
+ return 'q%s' % md5 (name .encode ('utf8' )).hexdigest ()
203
+
200
204
def updatePresetsCombobox (self ):
201
205
self .presetCombo .clear ()
202
206
@@ -214,9 +218,9 @@ def storePreset(self):
214
218
query = self ._getSqlQuery ()
215
219
if query == "" :
216
220
return
217
- name = self .presetName .text ()
218
- QgsProject .instance ().writeEntry ('DBManager' , 'savedQueries/q ' + str ( name . __hash__ () ) + '/name' , name )
219
- QgsProject .instance ().writeEntry ('DBManager' , 'savedQueries/q ' + str ( name . __hash__ () ) + '/query' , query )
221
+ name = str ( self .presetName .text () )
222
+ QgsProject .instance ().writeEntry ('DBManager' , 'savedQueries/' + self . getQueryHash ( name ) + '/name' , name )
223
+ QgsProject .instance ().writeEntry ('DBManager' , 'savedQueries/' + self . getQueryHash ( name ) + '/query' , query )
220
224
index = self .presetCombo .findText (name )
221
225
if index == - 1 :
222
226
self .presetCombo .addItem (name )
@@ -226,13 +230,13 @@ def storePreset(self):
226
230
227
231
def deletePreset (self ):
228
232
name = self .presetCombo .currentText ()
229
- QgsProject .instance ().removeEntry ('DBManager' , 'savedQueries/q ' + str ( name . __hash__ () ))
233
+ QgsProject .instance ().removeEntry ('DBManager' , 'savedQueries/' + self . getQueryHash ( name ))
230
234
self .presetCombo .removeItem (self .presetCombo .findText (name ))
231
235
self .presetCombo .setCurrentIndex (- 1 )
232
236
233
237
def loadPreset (self , name ):
234
- query = QgsProject .instance ().readEntry ('DBManager' , 'savedQueries/q ' + str ( name . __hash__ () ) + '/query' )[0 ]
235
- name = QgsProject .instance ().readEntry ('DBManager' , 'savedQueries/q ' + str ( name . __hash__ () ) + '/name' )[0 ]
238
+ query = QgsProject .instance ().readEntry ('DBManager' , 'savedQueries/' + self . getQueryHash ( name ) + '/query' )[0 ]
239
+ name = QgsProject .instance ().readEntry ('DBManager' , 'savedQueries/' + self . getQueryHash ( name ) + '/name' )[0 ]
236
240
self .editSql .setText (query )
237
241
238
242
def loadAsLayerToggled (self , checked ):
0 commit comments