forked from openlp/openlp
fix exception in songs with no chords
This commit is contained in:
parent
237f82db5c
commit
bf9aba52da
@ -258,11 +258,13 @@ class EditSongForm(QtWidgets.QDialog, Ui_EditSongDialog, RegistryProperties):
|
||||
if not self._validate_tags(tags):
|
||||
misplaced_tags.append('{field1} {field2}'.format(field1=VerseType.translated_name(field[0]),
|
||||
field2=field[1:]))
|
||||
if Registry().get('settings').value('songs/enable chords') and not chords[0].startswith("="):
|
||||
if Registry().get('settings').value('songs/enable chords') and len(chords) > 0 and \
|
||||
not chords[0].startswith("="):
|
||||
QtWidgets.QMessageBox.warning(self, translate('SongsPlugin.EditVerseForm', 'Song key warning'),
|
||||
translate('SongsPlugin.EditVerseForm', 'No song key is present or song key '
|
||||
'is not the first chord.\nFor optimal chord experience, please, '
|
||||
'include a song key\nbefore any chord. Ex.: [=G]'))
|
||||
'include a song key\nbefore any chord. Ex.: [=G]'),
|
||||
QtWidgets.QMessageBox.checkBox)
|
||||
if misplaced_tags:
|
||||
critical_error_message_box(
|
||||
message=translate('SongsPlugin.EditSongForm',
|
||||
|
@ -124,14 +124,15 @@ class EditVerseForm(QtWidgets.QDialog, Ui_EditVerseDialog):
|
||||
try:
|
||||
lyrics_stripped = re.sub(r'\[---\]', "\n", re.sub(r'---\[.*?\]---', "\n", re.sub(r'\[--}{--\]', "\n",
|
||||
self.verse_text_edit.toPlainText())))
|
||||
transposed_lyrics = transpose_lyrics(self.verse_text_edit.toPlainText(), 1)
|
||||
self.verse_text_edit.setPlainText(transposed_lyrics)
|
||||
if not re.search(r'\[(.*?)\]', lyrics_stripped)[1].startswith("="):
|
||||
chords = re.search(r'\[(.*?)\]', lyrics_stripped)
|
||||
if chords and len(chords) > 0 and not chords[1].startswith("="):
|
||||
QtWidgets.QMessageBox.warning(self, translate('SongsPlugin.EditVerseForm', 'Song key warning'),
|
||||
translate('SongsPlugin.EditVerseForm',
|
||||
'No song key is present or song key is not the first '
|
||||
'chord.\nFor optimal chord experience, please, include a '
|
||||
'song key\nbefore any chord. Ex.: [=G]'))
|
||||
transposed_lyrics = transpose_lyrics(self.verse_text_edit.toPlainText(), 1)
|
||||
self.verse_text_edit.setPlainText(transposed_lyrics)
|
||||
except KeyError as ke:
|
||||
# Transposing failed
|
||||
critical_error_message_box(title=translate('SongsPlugin.EditVerseForm', 'Transposing failed'),
|
||||
@ -149,14 +150,15 @@ class EditVerseForm(QtWidgets.QDialog, Ui_EditVerseDialog):
|
||||
try:
|
||||
lyrics_stripped = re.sub(r'\[---\]', "\n", re.sub(r'---\[.*?\]---', "\n", re.sub(r'\[--}{--\]', "\n",
|
||||
self.verse_text_edit.toPlainText())))
|
||||
transposed_lyrics = transpose_lyrics(self.verse_text_edit.toPlainText(), -1)
|
||||
self.verse_text_edit.setPlainText(transposed_lyrics)
|
||||
if not re.search(r'\[(.*?)\]', lyrics_stripped)[1].startswith("="):
|
||||
chords = re.search(r'\[(.*?)\]', lyrics_stripped)
|
||||
if chords and len(chords) > 0 and not chords[1].startswith("="):
|
||||
QtWidgets.QMessageBox.warning(self, translate('SongsPlugin.EditVerseForm', 'Song key warning'),
|
||||
translate('SongsPlugin.EditVerseForm',
|
||||
'No song key is present or song key is not the first '
|
||||
'chord.\nFor optimal chord experience, please, include a '
|
||||
'song key\nbefore any chord. Ex.: [=G]'))
|
||||
transposed_lyrics = transpose_lyrics(self.verse_text_edit.toPlainText(), -1)
|
||||
self.verse_text_edit.setPlainText(transposed_lyrics)
|
||||
except KeyError as ke:
|
||||
# Transposing failed
|
||||
critical_error_message_box(title=translate('SongsPlugin.EditVerseForm', 'Transposing failed'),
|
||||
|
Loading…
Reference in New Issue
Block a user