diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index db4d9bf56..117f53c7c 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -554,7 +554,9 @@ class SongImportForm(OpenLPWizard): Get CCLI song database files """ self.getFiles(WizardStrings.OpenTypeFile % WizardStrings.CCLI, - self.ccliFileListWidget) + self.ccliFileListWidget, u'%s (*.usr *.txt)' + % translate('SongsPlugin.ImportWizardForm', + 'CCLI SongSelect Files')) def onCCLIRemoveButtonClicked(self): """ @@ -595,15 +597,22 @@ class SongImportForm(OpenLPWizard): self.removeSelectedItems(self.genericFileListWidget) def onEasySlidesBrowseButtonClicked(self): + """ + Get EasyWorship song database file + """ self.getFileName(WizardStrings.OpenTypeFile % WizardStrings.ES, - self.easySlidesFilenameEdit) + self.easySlidesFilenameEdit, u'%s (*.xml)' + % translate('SongsPlugin.ImportWizardForm', + 'EasySlides XML File')) def onEWBrowseButtonClicked(self): """ Get EasyWorship song database files """ self.getFileName(WizardStrings.OpenTypeFile % WizardStrings.EW, - self.ewFilenameEdit) + self.ewFilenameEdit, u'%s (*.db)' + % translate('SongsPlugin.ImportWizardForm', + 'EasyWorship Song Database')) def onSongBeamerAddButtonClicked(self): """ diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 2a931f68d..a3844e438 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -31,6 +31,7 @@ import re from lxml import objectify from lxml.etree import Error, LxmlError +from openlp.core.lib import translate from openlp.plugins.songs.lib import VerseType from openlp.plugins.songs.lib.songimport import SongImport from openlp.plugins.songs.lib.ui import SongStrings @@ -128,6 +129,12 @@ class OpenSongImport(SongImport): log.exception(u'Error parsing XML') return root = tree.getroot() + if root.tag != u'song': + self.logError(file.name, unicode( + translate('SongsPlugin.OpenSongImport', + ('Invalid OpenSong song file. Missing ' + 'song tag.')))) + return fields = dir(root) decode = { u'copyright': self.addCopyright,