Skip to content

Commit 46af3c4

Browse files
committed
Add migration of old plugin directories to new profile way.
1 parent 8898e3e commit 46af3c4

2 files changed

Lines changed: 26 additions & 10 deletions

File tree

src/mapclient/core/mainapplication.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from mapclient.core.checks import runChecks
3030
from mapclient.settings.definitions import CHECK_TOOLS_ON_STARTUP, RECENTS_LENGTH
3131
from mapclient.settings.general import get_settings
32+
from mapclient.settings.version import __version__ as version
3233

3334
logger = logging.getLogger(__name__)
3435

@@ -91,6 +92,9 @@ def doEnvironmentChecks(self):
9192

9293
def writeSettings(self):
9394
settings = get_settings()
95+
settings.beginGroup('Application')
96+
settings.setValue('version', version)
97+
settings.endGroup()
9498
settings.beginGroup('MainWindow')
9599
settings.setValue('size', self._size)
96100
settings.setValue('pos', self._pos)
@@ -109,6 +113,9 @@ def writeSettings(self):
109113

110114
def readSettings(self):
111115
settings = get_settings()
116+
settings.beginGroup('Application')
117+
settings_version = settings.value('version', '0.0.0')
118+
settings.endGroup()
112119
settings.beginGroup('MainWindow')
113120
self._size = settings.value('size', self._size)
114121
self._pos = settings.value('pos', self._pos)
@@ -120,7 +127,7 @@ def readSettings(self):
120127
settings.endArray()
121128
settings.endGroup()
122129

123-
self._pluginManager.readSettings(settings)
130+
self._pluginManager.readSettings(settings, settings_version)
124131
self._workflowManager.readSettings(settings)
125132
self._optionsManager.readSettings(settings)
126133
self._package_manager.read_settings(settings)

src/mapclient/core/managers/pluginmanager.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -342,24 +342,33 @@ def profile_directories(self):
342342
"""
343343
return self._profile_directories
344344

345-
def readSettings(self, settings):
345+
def readSettings(self, settings, settings_version):
346346
self._profile_directories = {}
347347
settings.beginGroup('Plugins')
348348
self._doNotShowPluginErrors = settings.value('donot_show_plugin_errors', 'true') == 'true'
349349
self._virtualenv_setup_attempted = settings.value('virtualenv_setup_attempted', 'false') == 'true'
350350
self._current_profile = settings.value(_get_app_profile_key(), CONST_DEFAULT_PROFILE)
351-
profiles_count = settings.beginReadArray('profiles')
352-
for i in range(profiles_count):
353-
settings.setArrayIndex(i)
354-
profile_name = settings.value('name')
351+
if settings_version == '0.0.0':
355352
directory_count = settings.beginReadArray('directories')
356353
directories = []
357-
for j in range(directory_count):
358-
settings.setArrayIndex(j)
354+
for i in range(directory_count):
355+
settings.setArrayIndex(i)
359356
directories.append(settings.value('directory'))
360357
settings.endArray()
361-
self._profile_directories[profile_name] = directories
362-
settings.endArray()
358+
self._profile_directories[CONST_DEFAULT_PROFILE] = directories
359+
else:
360+
profiles_count = settings.beginReadArray('profiles')
361+
for i in range(profiles_count):
362+
settings.setArrayIndex(i)
363+
profile_name = settings.value('name')
364+
directory_count = settings.beginReadArray('directories')
365+
directories = []
366+
for j in range(directory_count):
367+
settings.setArrayIndex(j)
368+
directories.append(settings.value('directory'))
369+
settings.endArray()
370+
self._profile_directories[profile_name] = directories
371+
settings.endArray()
363372
settings.endGroup()
364373
self._profile_directories[CONST_DEFAULT_PROFILE] = self._profile_directories.get(CONST_DEFAULT_PROFILE, [])
365374
settings.beginGroup('Ignored Plugins')

0 commit comments

Comments
 (0)