Skip to content

Commit

Permalink
Fix load bookmarks when there are errors in any of them
Browse files Browse the repository at this point in the history
  • Loading branch information
fdiazcarsi committed Jul 19, 2022
1 parent fc6e017 commit bddedb9
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 28 deletions.
64 changes: 39 additions & 25 deletions searchbookmarks/searchbookmarks.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@

from java.util import Properties

import sys
from java.lang import Throwable

from org.gvsig.tools import ToolsLocator
from org.gvsig.tools.dispose import DisposeUtils

Expand Down Expand Up @@ -59,28 +62,34 @@ def isEnabled(self):
return self.__enabled

def load(self):
persistenceManager = ToolsLocator.getPersistenceManager()
fname = os.path.splitext(self.__pathname)[0]
self.__name = os.path.basename(fname).split("!")[2]

stream = FileInputStream(fname)
self.__searchParameters = persistenceManager.getObject(stream)
stream.close()

stream = FileInputStream(self.__pathname)
props = Properties()
props.load(stream)
stream.close()
self.__table_name = props.getProperty("table_name")
self.__result_should_have_rows = props.getProperty("result_should_have_rows", "true").lower()
self.__first_row_of_results_must_have_values = props.getProperty("first_row_of_results_must_have_values", "true").lower()
self.__enabled = props.getProperty("enabled", "true").lower()
if self.__enabled == "true":
self.__enabled = True
else:
self.__enabled = False
if self.__searchParameters.getQuery().getLimit() == 0:
self.__searchParameters.getQuery().clearLimit()
try:
persistenceManager = ToolsLocator.getPersistenceManager()
fname = os.path.splitext(self.__pathname)[0]
self.__name = os.path.basename(fname).split("!")[2]

stream = FileInputStream(fname)
self.__searchParameters = persistenceManager.getObject(stream)
stream.close()

stream = FileInputStream(self.__pathname)
props = Properties()
props.load(stream)
stream.close()
self.__table_name = props.getProperty("table_name")
self.__result_should_have_rows = props.getProperty("result_should_have_rows", "true").lower()
self.__first_row_of_results_must_have_values = props.getProperty("first_row_of_results_must_have_values", "true").lower()
self.__enabled = props.getProperty("enabled", "true").lower()
if self.__enabled == "true":
self.__enabled = True
else:
self.__enabled = False
if self.__searchParameters.getQuery().getLimit() == 0:
self.__searchParameters.getQuery().clearLimit()
return True
except Throwable, ex:
ex = sys.exc_info()[1]
gvsig.logger("Can't load module 'jgit'. " + str(ex), gvsig.LOGGER_WARN, ex)
return False

def getStore(self):
dataManager = DALLocator.getDataManager()
Expand Down Expand Up @@ -180,6 +189,7 @@ def getSearchBookmarks(taskStatus = None):
folder = gvsig.getResource(__file__,"..","data","searchbookmarks")
files = os.listdir(folder)
taskStatus.setRangeOfValues(0,len(files))
countErrors = 0
for f in files:
if taskStatus.isCancellationRequested():
taskStatus.cancel()
Expand All @@ -191,12 +201,16 @@ def getSearchBookmarks(taskStatus = None):
taskStatus.message(s)
searchBookmark = SearchBookmark(os.path.join(folder,f))
taskStatus.message(searchBookmark.getName())
searchBookmark .load()
searchBookmarks.append(searchBookmark)
if searchBookmark .load():
searchBookmarks.append(searchBookmark)
else:
countErrors += 1
taskStatus.incrementCurrentValue()
taskStatus.terminate()
if countErrors > 0:
taskStatus.message("Ha fallado la carga de %s favoritos." %countErrors)
searchBookmarks.sort(key=lambda e:e.getName())
return searchBookmarks
return searchBookmarks, countErrors

def main(*args):
for x in getSearchBookmarks():
Expand Down
8 changes: 5 additions & 3 deletions searchbookmarks/searchbookmarkspanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
import addons.AccidentRateTests.searchbookmarks.searchbookmarks
reload(addons.AccidentRateTests.searchbookmarks.searchbookmarks)
from addons.AccidentRateTests.searchbookmarks.searchbookmarks import getSearchBookmarks


from gvsig.commonsdialog import msgbox

class TestSearchBookmarsTableModel(AbstractTableModel):
def __init__(self, tests):
Expand Down Expand Up @@ -99,7 +98,9 @@ def __loadBookmarks(self):
taskStatus = ToolsLocator.getTaskStatusManager().createDefaultSimpleTaskStatus("Cargando favoritos")
self.taskStatusController.bind(taskStatus)
self.taskStatusController.setVisible(True)
tests = getSearchBookmarks(taskStatus)
tests, errors = getSearchBookmarks(taskStatus)
if errors > 0:
msgbox("Ha fallado la carga de %s favoritos." %errors)
self.taskStatusController.setVisible(False)
self.setTableModel(tests)

Expand Down Expand Up @@ -266,6 +267,7 @@ def createTemporaryH2Store(self, name):
serverExplorer = dataManager.openServerExplorer("H2Spatial", serverParameters)

newParametersTarget = serverExplorer.getAddParameters()

newParametersTarget.setDynValue("Table", name)
newParametersTarget.setDefaultFeatureType(featureType)
serverExplorer.add("H2Spatial", newParametersTarget, True)
Expand Down

0 comments on commit bddedb9

Please sign in to comment.