diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index ef655a12a..3e5b41e46 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -248,18 +248,24 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): # Progress page return True - def getFileName(self, title, editbox): + def getFileName(self, title, editbox, + filters = '%s (*)' % translate('SongsPlugin.ImportWizardForm', + 'All Files')): filename = QtGui.QFileDialog.getOpenFileName(self, title, - SettingsManager.get_last_dir(self.plugin.settingsSection, 1)) + SettingsManager.get_last_dir(self.plugin.settingsSection, 1), + filters) if filename: editbox.setText(filename) SettingsManager.set_last_dir( self.plugin.settingsSection, os.path.split(unicode(filename))[0], 1) - def getFiles(self, title, listbox): + def getFiles(self, title, listbox, + filters = u'%s (*)' % translate('SongsPlugin.ImportWizardForm', + 'All Files')): filenames = QtGui.QFileDialog.getOpenFileNames(self, title, - SettingsManager.get_last_dir(self.plugin.settingsSection, 1)) + SettingsManager.get_last_dir(self.plugin.settingsSection, 1), + filters) if filenames: listbox.addItems(filenames) SettingsManager.set_last_dir( @@ -281,14 +287,24 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): self.getFileName( translate('SongsPlugin.ImportWizardForm', 'Select OpenLP 2.0 Database File'), - self.openLP2FilenameEdit + self.openLP2FilenameEdit, + u'%s (*.sqlite);;%s (*)' + % (translate('SongsPlugin.ImportWizardForm', + 'OpenLP 2.0 Databases'), + translate('SongsPlugin.ImportWizardForm', + 'All Files')) ) def onOpenLP1BrowseButtonClicked(self): self.getFileName( translate('SongsPlugin.ImportWizardForm', 'Select openlp.org 1.x Database File'), - self.openLP1FilenameEdit + self.openLP1FilenameEdit, + u'%s (*.olp);;%s (*)' + % (translate('SongsPlugin.ImportWizardForm', + 'openlp.org v1.x Databases'), + translate('SongsPlugin.ImportWizardForm', + 'All Files')) ) #def onOpenLyricsAddButtonClicked(self): @@ -315,7 +331,12 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): self.getFiles( translate('SongsPlugin.ImportWizardForm', 'Select Words of Worship Files'), - self.wordsOfWorshipFileListWidget + self.wordsOfWorshipFileListWidget, + u'%s (*.wsg *.wow-song);;%s (*)' + % (translate('SongsPlugin.ImportWizardForm', + 'Words Of Worship Song Files'), + translate('SongsPlugin.ImportWizardForm', + 'All Files')) ) def onWordsOfWorshipRemoveButtonClicked(self): @@ -335,7 +356,12 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): self.getFiles( translate('SongsPlugin.ImportWizardForm', 'Select Songs of Fellowship Files'), - self.songsOfFellowshipFileListWidget + self.songsOfFellowshipFileListWidget, + u'%s (*.rtf);;%s (*)' + % (translate('SongsPlugin.ImportWizardForm', + 'Songs Of Felloship Song Files'), + translate('SongsPlugin.ImportWizardForm', + 'All Files')) ) def onSongsOfFellowshipRemoveButtonClicked(self): diff --git a/openlp/plugins/songs/lib/wowimport.py b/openlp/plugins/songs/lib/wowimport.py index 474a9b19d..879d56704 100644 --- a/openlp/plugins/songs/lib/wowimport.py +++ b/openlp/plugins/songs/lib/wowimport.py @@ -116,16 +116,16 @@ class WowImport(SongImport): self.import_wizard.importProgressBar.setMaximum( len(self.import_source)) for file in self.import_source: - # TODO: check that it is a valid words of worship file (could - # check header for WoW File Song Word) self.author = u'' self.copyright = u'' - # Get the song title self.file_name = os.path.split(file)[1] self.import_wizard.incrementProgressBar( "Importing %s" % (self.file_name), 0) + # Get the song title self.title = self.file_name.rpartition(u'.')[0] self.songData = open(file, 'rb') + if self.songData.read(19) != u'WoW File\nSong Words': + continue # Seek to byte which stores number of blocks in the song self.songData.seek(56) self.no_of_blocks = ord(self.songData.read(1))