Formatting tags opened and closed in different verses throw an exception
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OpenLP | Status tracked in Trunk | |||||
2.0 |
Fix Released
|
Medium
|
Oliver Wieland | |||
Trunk |
Fix Released
|
Medium
|
Samuel Mehrbrodt |
Bug Description
http://
Closing a formatting tag in a different verse from which it was opened causes the "Error Occurred" dialogue to show.
1. Create a new song
2. Add title and author
3. Copy and paste the following text in to the "edit all" dialogue:
---[Verse:1]---
{r}Verse 1 Text
---[Verse:2]---
Verse 2 Text{/r}
4. Save Song
5. Send song live. The "Error Occurred" dialogue shows with the following traceback:
Traceback (most recent call last):
File "D:\OpenLP_
File "D:\OpenLP_
File "D:\OpenLP_
File "D:\OpenLP_
File "D:\OpenLP_
File "D:\OpenLP_
File "lxml.etree.pyx", line 2723, in lxml.etree.XML (src/lxml/
File "parser.pxi", line 1573, in lxml.etree.
File "parser.pxi", line 1445, in lxml.etree.
File "parser.pxi", line 920, in lxml.etree.
File "parser.pxi", line 564, in lxml.etree.
File "parser.pxi", line 645, in lxml.etree.
File "parser.pxi", line 585, in lxml.etree.
XMLSyntaxError: Opening and ending tag mismatch: lines line 1 and tag, line 1, column 26
Related branches
- Tim Bentley: Approve
- Raoul Snyman: Approve
-
Diff: 65 lines (+46/-0)1 file modifiedopenlp/plugins/songs/forms/editsongform.py (+46/-0)
- Raoul Snyman: Approve
- Tim Bentley: Approve
-
Diff: 856 lines (+187/-63)39 files modified.bzrignore (+1/-0)
README.txt (+5/-6)
openlp/core/ui/aboutdialog.py (+1/-1)
openlp/core/ui/exceptiondialog.py (+2/-1)
openlp/core/ui/filerenamedialog.py (+2/-1)
openlp/core/ui/firsttimelanguagedialog.py (+2/-0)
openlp/core/ui/firsttimewizard.py (+2/-0)
openlp/core/ui/formattingtagdialog.py (+1/-0)
openlp/core/ui/mainwindow.py (+1/-1)
openlp/core/ui/plugindialog.py (+2/-0)
openlp/core/ui/printservicedialog.py (+1/-0)
openlp/core/ui/serviceitemeditdialog.py (+2/-0)
openlp/core/ui/settingsdialog.py (+1/-1)
openlp/core/ui/shortcutlistdialog.py (+1/-0)
openlp/core/ui/starttimedialog.py (+2/-0)
openlp/core/ui/themelayoutdialog.py (+2/-0)
openlp/core/ui/themewizard.py (+1/-0)
openlp/core/ui/wizard.py (+1/-0)
openlp/plugins/alerts/forms/alertdialog.py (+1/-1)
openlp/plugins/bibles/forms/booknamedialog.py (+2/-0)
openlp/plugins/bibles/forms/editbibledialog.py (+1/-1)
openlp/plugins/bibles/forms/languagedialog.py (+2/-0)
openlp/plugins/bibles/lib/mediaitem.py (+16/-1)
openlp/plugins/custom/forms/editcustomdialog.py (+1/-1)
openlp/plugins/custom/forms/editcustomslidedialog.py (+2/-1)
openlp/plugins/songs/forms/authorsdialog.py (+1/-1)
openlp/plugins/songs/forms/editsongdialog.py (+1/-1)
openlp/plugins/songs/forms/editsongform.py (+50/-0)
openlp/plugins/songs/forms/editversedialog.py (+1/-0)
openlp/plugins/songs/forms/mediafilesdialog.py (+1/-1)
openlp/plugins/songs/forms/songbookdialog.py (+2/-1)
openlp/plugins/songs/forms/songmaintenancedialog.py (+1/-0)
openlp/plugins/songs/forms/topicsdialog.py (+2/-1)
openlp/plugins/songs/lib/sundayplusimport.py (+8/-8)
openlp/plugins/songs/lib/xml.py (+2/-2)
openlp/plugins/songusage/forms/songusagedeletedialog.py (+2/-0)
openlp/plugins/songusage/forms/songusagedetaildialog.py (+1/-0)
tests/functional/openlp_core_lib/test_ui.py (+59/-32)
tests/utils/test_bzr_tags.py (+1/-0)
There is a similar bug #1173749 Songs with mismatching formatting tags still throw an exception
The related branch there validates the verses before saving, so that a tag must be closed at the end of a verse. So this issue can't occur with this patch.
I know that this is a solution for new or edited songs, but not for existing ones.