From 6db4d5247b8a608d4d58b838a4e418b3b633f3e9 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 17 Mar 2011 21:00:19 +0100 Subject: [PATCH 1/3] fixed full version of verse tag --- openlp/plugins/songs/lib/xml.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index ee826af77..45099ef7f 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -89,8 +89,8 @@ class SongXML(object): Add a verse to the ```` tag. ``type`` - A string denoting the type of verse. Possible values are *Verse*, - *Chorus*, *Bridge*, *Pre-Chorus*, *Intro*, *Ending* and *Other*. + A string denoting the type of verse. Possible values are *v*, + *c*, *b*, *p*, *i*, *e* and *o*. Any other type is **not** allowed, this also includes translated types. @@ -128,8 +128,8 @@ class SongXML(object): The returned list has the following format:: - [[{'lang': 'en', 'type': 'Verse', 'label': '1'}, u"English verse"], - [{'lang': 'en', 'type': 'Chorus', 'label': '1'}, u"English chorus"]] + [[{'lang': 'en', 'type': 'v', 'label': '1'}, u"English verse"], + [{'lang': 'en', 'type': 'c', 'label': '1'}, u"English chorus"]] """ self.song_xml = None if xml[:5] == u' Date: Thu, 17 Mar 2011 21:23:26 +0100 Subject: [PATCH 2/3] imporved handling unknown verse tags --- openlp/plugins/songs/lib/xml.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 45099ef7f..215afd65a 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -451,8 +451,12 @@ class OpenLyrics(object): if text: text += u'\n' text += u'\n'.join([unicode(line) for line in lines.line]) - verse_name = self._get(verse, u'name').lower() - verse_number = re.compile(u'[a-zA-Z]*').sub(u'', verse_name) + verse_tag = self._get(verse, u'name').lower() + if verse_tag[0] in VerseType.Tags: + verse_def = verse_tag[0] + else: + verse_def = VerseType.Tags[VerseType.Other] + verse_number = re.compile(u'[a-zA-Z]*').sub(u'', verse_tag) # OpenLyrics allows e. g. "c", but we need "c1". However, this does # not correct the verse order. if not verse_number: @@ -460,7 +464,7 @@ class OpenLyrics(object): lang = None if self._get(verse, u'lang'): lang = self._get(verse, u'lang') - sxml.add_verse_to_lyrics(verse_name[0], verse_number, text, lang) + sxml.add_verse_to_lyrics(verse_def, verse_number, text, lang) song.lyrics = unicode(sxml.extract_xml(), u'utf-8') # Process verse order if hasattr(properties, u'verseOrder'): From d1542d2c2bb3d94eb88bddce93e929019df49e95 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 17 Mar 2011 21:38:05 +0100 Subject: [PATCH 3/3] now the right way around --- openlp/plugins/songs/lib/xml.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 215afd65a..c1b5ee5c1 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -451,12 +451,12 @@ class OpenLyrics(object): if text: text += u'\n' text += u'\n'.join([unicode(line) for line in lines.line]) - verse_tag = self._get(verse, u'name').lower() - if verse_tag[0] in VerseType.Tags: - verse_def = verse_tag[0] + verse_def = self._get(verse, u'name').lower() + if verse_def[0] in VerseType.Tags: + verse_tag = verse_def[0] else: - verse_def = VerseType.Tags[VerseType.Other] - verse_number = re.compile(u'[a-zA-Z]*').sub(u'', verse_tag) + verse_tag = VerseType.Tags[VerseType.Other] + verse_number = re.compile(u'[a-zA-Z]*').sub(u'', verse_def) # OpenLyrics allows e. g. "c", but we need "c1". However, this does # not correct the verse order. if not verse_number: @@ -464,7 +464,7 @@ class OpenLyrics(object): lang = None if self._get(verse, u'lang'): lang = self._get(verse, u'lang') - sxml.add_verse_to_lyrics(verse_def, verse_number, text, lang) + sxml.add_verse_to_lyrics(verse_tag, verse_number, text, lang) song.lyrics = unicode(sxml.extract_xml(), u'utf-8') # Process verse order if hasattr(properties, u'verseOrder'):