From 6507b431b0a7f12918bd704a09ff7414ca8befd9 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 28 May 2011 18:25:11 +0200 Subject: [PATCH] fix for older versions --- openlp/plugins/songs/lib/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index e3779f2c0..ac7724ade 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -269,6 +269,19 @@ def clean_song(manager, song): verses = SongXML().get_verses(song.lyrics) lyrics = u' '.join([whitespace.sub(u' ', verse[1]) for verse in verses]) song.search_lyrics = lyrics.lower() + compare_order = [] + for verse in verses: + compare_order.append( + (u'%s%s' % (verse[0][u'type'], verse[0][u'label'])).upper()) + if verse[0][u'label'] == u'1': + compare_order.append(verse[0][u'type'].upper()) + # Check if the verse order contains tags for verses which do not exist. + # (This is relevant for people upgrading from 1.9.4 and older). + for order in song.verse_order.split(): + # The verse order contains invalid tags, so reset the order. + if order not in compare_order: + song.verse_order = u'' + break # The song does not have any author, add one. if not song.authors: name = SongStrings.AuthorUnknown