From 1c9d92bf2ed0893621481d6e858e86cb4cd3102e Mon Sep 17 00:00:00 2001 From: M2j Date: Mon, 2 Apr 2012 22:53:21 +0200 Subject: [PATCH] Bug #953240: Merging subverse entries (e.g. v1a) at OpenSong import --- openlp/plugins/songs/lib/opensongimport.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 977adfb25..ad45ef22e 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -227,9 +227,17 @@ class OpenSongImport(SongImport): verses[verse_tag][verse_num][inst].append(this_line) # done parsing # add verses in original order + verse_joints = {} for (verse_tag, verse_num, inst) in our_verse_order: - verse_def = u'%s%s' % (verse_tag, verse_num) lines = u'\n'.join(verses[verse_tag][verse_num][inst]) + length = 0 + while(length < len(verse_num) and verse_num[length].isnumeric()): + length += 1 + verse_def = u'%s%s' % (verse_tag, verse_num[:length]) + verse_joints[verse_def] = \ + u'%s\n[---]\n%s' % (verse_joints[verse_def], lines) \ + if verse_def in verse_joints else lines + for verse_def, lines in verse_joints.iteritems(): self.addVerse(lines, verse_def) if not self.verses: self.addVerse('')