From 1b056a74ec7fb5bccceae9acf9c610183c32df25 Mon Sep 17 00:00:00 2001 From: M2j Date: Mon, 2 Apr 2012 13:38:22 +0200 Subject: [PATCH] Bug #969282: Remove control characters from song copyright string --- openlp/plugins/songs/forms/editsongform.py | 24 +++++++++++----------- openlp/plugins/songs/lib/__init__.py | 4 +++- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 468139164..c0d11271e 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -193,19 +193,19 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.song = None self.initialise() self.songTabWidget.setCurrentIndex(0) - self.titleEdit.setText(u'') - self.alternativeEdit.setText(u'') - self.copyrightEdit.setText(u'') - self.verseOrderEdit.setText(u'') - self.commentsEdit.setText(u'') - self.CCLNumberEdit.setText(u'') + self.titleEdit.clear() + self.alternativeEdit.clear() + self.copyrightEdit.clear() + self.verseOrderEdit.clear() + self.commentsEdit.clear() + self.CCLNumberEdit.clear() self.verseListWidget.clear() self.verseListWidget.setRowCount(0) self.authorsListView.clear() self.topicsListView.clear() self.audioListWidget.clear() self.titleEdit.setFocus(QtCore.Qt.OtherFocusReason) - self.songBookNumberEdit.setText(u'') + self.songBookNumberEdit.clear() self.loadAuthors() self.loadTopics() self.loadBooks() @@ -236,7 +236,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if self.song.alternate_title: self.alternativeEdit.setText(self.song.alternate_title) else: - self.alternativeEdit.setText(u'') + self.alternativeEdit.clear() if self.song.song_book_id != 0: book_name = self.manager.get_object(Book, self.song.song_book_id) find_and_set_in_combo_box( @@ -247,21 +247,21 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if self.song.copyright: self.copyrightEdit.setText(self.song.copyright) else: - self.copyrightEdit.setText(u'') + self.copyrightEdit.clear() self.verseListWidget.clear() self.verseListWidget.setRowCount(0) if self.song.comments: self.commentsEdit.setPlainText(self.song.comments) else: - self.commentsEdit.setPlainText(u'') + self.commentsEdit.clear() if self.song.ccli_number: self.CCLNumberEdit.setText(self.song.ccli_number) else: - self.CCLNumberEdit.setText(u'') + self.CCLNumberEdit.clear() if self.song.song_number: self.songBookNumberEdit.setText(self.song.song_number) else: - self.songBookNumberEdit.setText(u'') + self.songBookNumberEdit.clear() # lazy xml migration for now self.verseListWidget.clear() self.verseListWidget.setRowCount(0) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 5aa35ffae..e04b1c5a2 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -326,7 +326,7 @@ def clean_song(manager, song): # Rebuild the verse order, to convert translated verse tags, which might # have been added prior to 1.9.5. if song.verse_order: - order = song.verse_order.strip().split() + order = CONTROL_CHARS.sub(u'', song.verse_order).strip().split() else: order = [] new_order = [] @@ -358,6 +358,8 @@ def clean_song(manager, song): author = Author.populate( display_name=name, last_name=u'', first_name=u'') song.authors.append(author) + if song.copyright: + song.copyright = CONTROL_CHARS.sub(u'', song.copyright).strip() from xml import OpenLyrics, SongXML from songstab import SongsTab