I think there is really two parts to this bug.

1. We should validate the formatting tags when a user enters a song manually:
    a) For 2.0 series think we should display a message box saying that the 
formatting tags are invalid.
    b) For trunk series, I was thinking it would be nice if we could highlight 
the actual issues. Either with a message box  for example "x opening tag found, 
but no closing tag" or by actually changing the background colour of the tag to 
red or something.

2. For songs that are being imported or songs that are already in the
database we should either remove the tag, or close it just before the
next closing tag or split.

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1173749

Title:
  Songs with mismatching formatting tags still throw an exception

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  Confirmed

Bug description:
  There is another bug similar to this, bug #885874, but it does not
  seem to have fixed the issue below. Note that there is a mismatched
  "{/g}" tag which causes this error.

  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Hi,
  I just found one bug. I just changed one Bridge to:

  Shine Your light and {g}Strahle hell und{/g}
  Let the whole world see {g}lass die Welt es sehn.{/g}
  We're singing {g}Wir singen{/g}
  For the glory Of the risen King{/g} {g}dir zur Ehre, auferstandner Herr.{/g}
  Jesus

  And got this error:

  --- Exception Traceback ---
  Traceback (most recent call last):
  File
  "/usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py",
  line 393, in onEditClick
  self.onSongListLoad()
  File
  "/usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py",
  line 254, in onSongListLoad
  item = self.buildServiceItem(self.editItem)
  File
  "/usr/lib/pymodules/python2.6/openlp/core/lib/mediamanageritem.py", line
  591, in buildServiceItem
  if self.generateSlideData(serviceItem, item, xmlVersion, remote):
  File
  "/usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py",
  line 529, in generateSlideData
  service_item.xml_version = self.openLyrics.song_to_xml(song)
  File "/usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py",
  line 361, in song_to_xml
  optional_verse, tags_element)
  File "/usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py",
  line 503, in _add_text_with_tags_to_lines
  element = etree.XML
  File "lxml.etree.pyx", line 2512, in lxml.etree.XML
  (src/lxml/lxml.etree.c:48057)
  File "parser.pxi", line 1545, in lxml.etree._parseMemoryDocument
  (src/lxml/lxml.etree.c:71812)
  File "parser.pxi", line 1417, in lxml.etree._parseDoc
  (src/lxml/lxml.etree.c:70608)
  File "parser.pxi", line 898, in
  lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:67148)
  File "parser.pxi", line 539, in
  lxml.etree._ParserContext._handleParseResultDoc
  (src/lxml/lxml.etree.c:63824)
  File "parser.pxi", line 625, in lxml.etree._handleParseResult
  (src/lxml/lxml.etree.c:64745)
  File "parser.pxi", line 565, in lxml.etree._raiseParseError
  (src/lxml/lxml.etree.c:64088)
  XMLSyntaxError: Opening and ending tag mismatch: lines line 1 and tag,
  line 1, column 216

  --- System information ---
  Plattform: Linux-2.6.32-45-generic-i686-with-Ubuntu-10.04-lucid
  Desktop: GNOME

  --- Library Versions ---
  Python: 2.6.5
  Qt4: 4.6.2
  Phonon: 4.3.1
  PyQt4: 4.7.2
  QtWebkit: 532.4
  SQLAlchemy: 0.5.8
  SQLAlchemy Migrate: < 0.7
  BeautifulSoup: 3.1.0.1
  lxml: 2.2.4
  Chardet: 2.0.1
  PyEnchant: 1.5.3
  PySQLite: 1.0.1
  Mako: 0.2.5
  pyUNO bridge: 3.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1173749/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~openlp-core
Post to     : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to