diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 3ad0e1348..d1112ab5c 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -184,10 +184,8 @@ class OpenLP(QtGui.QApplication): ``traceback`` A traceback object with the details of where the exception occurred. """ - if not hasattr(self, u'mainWindow'): - log.exception(''.join(format_exception(exctype, value, traceback))) - return - if not hasattr(self, u'exceptionForm'): + log.exception(''.join(format_exception(exctype, value, traceback))) + if not hasattr(self, u'exception_form'): self.exception_form = ExceptionForm(self.main_window) self.exception_form.exceptionTextEdit.setPlainText(''.join(format_exception(exctype, value, traceback))) self.set_normal_cursor() diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index b635b309b..8e812f00e 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -35,7 +35,7 @@ import os from PyQt4 import QtCore, QtGui -from openlp.core.lib import Settings, UiStrings, translate +from openlp.core.lib import Registry, Settings, UiStrings, translate from openlp.core.lib.ui import critical_error_message_box from openlp.core.ui.wizard import OpenLPWizard, WizardStrings from openlp.plugins.songs.lib.importer import SongFormat, SongFormatSelect @@ -489,6 +489,16 @@ class SongImportForm(OpenLPWizard): self.formatWidgets[this_format][u'importWidget'] = importWidget return importWidget + def _get_main_window(self): + """ + Adds the main window to the class dynamically + """ + if not hasattr(self, u'_main_window'): + self._main_window = Registry().get(u'main_window') + return self._main_window + + main_window = property(_get_main_window) + class SongImportSourcePage(QtGui.QWizardPage): """ diff --git a/tests/functional/openlp_core_utils/test_applocation.py b/tests/functional/openlp_core_utils/test_applocation.py index d823b077c..5473da8c0 100644 --- a/tests/functional/openlp_core_utils/test_applocation.py +++ b/tests/functional/openlp_core_utils/test_applocation.py @@ -85,6 +85,9 @@ class TestAppLocation(TestCase): # When: Get the list of files. result = AppLocation.get_files(u'section', u'.mp3') + # Then: Check if the section parameter was used correctly. + mocked_listdir.assert_called_with(u'test/dir/section') + # Then: check if the file lists are identical. assert result == [u'file5.mp3', u'file6.mp3'], u'The file lists should be identical.'