forked from openlp/openlp
Make the way we display verse ranges consistent and make use of localized or custom separators. Fixes bug 1081807
Fixes: https://launchpad.net/bugs/1081807
This commit is contained in:
parent
864fb08dee
commit
c294ea5752
@ -849,7 +849,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
service_item.add_capability(ItemCapabilities.CanWordSplit)
|
service_item.add_capability(ItemCapabilities.CanWordSplit)
|
||||||
service_item.add_capability(ItemCapabilities.CanEditTitle)
|
service_item.add_capability(ItemCapabilities.CanEditTitle)
|
||||||
# Service Item: Title
|
# Service Item: Title
|
||||||
service_item.title = create_separated_list(raw_title)
|
service_item.title = '%s %s' % (verses.format_verses(), verses.format_versions())
|
||||||
# Service Item: Theme
|
# Service Item: Theme
|
||||||
if not self.settings.bible_theme:
|
if not self.settings.bible_theme:
|
||||||
service_item.theme = None
|
service_item.theme = None
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
from openlp.plugins.bibles.lib import get_reference_separator
|
||||||
|
|
||||||
|
|
||||||
class VerseReferenceList(object):
|
class VerseReferenceList(object):
|
||||||
"""
|
"""
|
||||||
@ -53,29 +55,39 @@ class VerseReferenceList(object):
|
|||||||
self.version_list.append({'version': version, 'copyright': copyright, 'permission': permission})
|
self.version_list.append({'version': version, 'copyright': copyright, 'permission': permission})
|
||||||
|
|
||||||
def format_verses(self):
|
def format_verses(self):
|
||||||
|
verse_sep = get_reference_separator('sep_v_display')
|
||||||
|
range_sep = get_reference_separator('sep_r_display')
|
||||||
|
list_sep = get_reference_separator('sep_l_display')
|
||||||
result = ''
|
result = ''
|
||||||
for index, verse in enumerate(self.verse_list):
|
for index, verse in enumerate(self.verse_list):
|
||||||
if index == 0:
|
if index == 0:
|
||||||
result = '%s %s:%s' % (verse['book'], verse['chapter'], verse['start'])
|
result = '%s %s%s%s' % (verse['book'], verse['chapter'], verse_sep, verse['start'])
|
||||||
if verse['start'] != verse['end']:
|
if verse['start'] != verse['end']:
|
||||||
result = '%s-%s' % (result, verse['end'])
|
result = '%s%s%s' % (result, range_sep, verse['end'])
|
||||||
continue
|
continue
|
||||||
prev = index - 1
|
prev = index - 1
|
||||||
if self.verse_list[prev]['version'] != verse['version']:
|
if self.verse_list[prev]['version'] != verse['version']:
|
||||||
result = '%s (%s)' % (result, self.verse_list[prev]['version'])
|
result = '%s (%s)' % (result, self.verse_list[prev]['version'])
|
||||||
result += ', '
|
result += '%s ' % list_sep
|
||||||
if self.verse_list[prev]['book'] != verse['book']:
|
if self.verse_list[prev]['book'] != verse['book']:
|
||||||
result = '%s%s %s:' % (result, verse['book'], verse['chapter'])
|
result = '%s%s %s%s' % (result, verse['book'], verse['chapter'], verse_sep)
|
||||||
elif self.verse_list[prev]['chapter'] != verse['chapter']:
|
elif self.verse_list[prev]['chapter'] != verse['chapter']:
|
||||||
result = '%s%s:' % (result, verse['chapter'])
|
result = '%s%s%s' % (result, verse['chapter'], verse_sep)
|
||||||
result += str(verse['start'])
|
result += str(verse['start'])
|
||||||
if verse['start'] != verse['end']:
|
if verse['start'] != verse['end']:
|
||||||
result = '%s-%s' % (result, verse['end'])
|
result = '%s%s%s' % (result, range_sep, verse['end'])
|
||||||
if len(self.version_list) > 1:
|
if len(self.version_list) > 1:
|
||||||
result = '%s (%s)' % (result, verse['version'])
|
result = '%s (%s)' % (result, verse['version'])
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def format_versions(self):
|
def format_versions(self, copyright=True, permission=True):
|
||||||
|
"""
|
||||||
|
Format a string with the bible versions used
|
||||||
|
|
||||||
|
:param copyright: If the copyright info should be included, default is true.
|
||||||
|
:param permission: If the permission info should be included, default is true.
|
||||||
|
:return: A formatted string with the bible versions used
|
||||||
|
"""
|
||||||
result = ''
|
result = ''
|
||||||
for index, version in enumerate(self.version_list):
|
for index, version in enumerate(self.version_list):
|
||||||
if index > 0:
|
if index > 0:
|
||||||
@ -83,9 +95,9 @@ class VerseReferenceList(object):
|
|||||||
result += ';'
|
result += ';'
|
||||||
result += ' '
|
result += ' '
|
||||||
result += version['version']
|
result += version['version']
|
||||||
if version['copyright'].strip():
|
if copyright and version['copyright'].strip():
|
||||||
result += ', ' + version['copyright']
|
result += ', ' + version['copyright']
|
||||||
if version['permission'].strip():
|
if permission and version['permission'].strip():
|
||||||
result += ', ' + version['permission']
|
result += ', ' + version['permission']
|
||||||
result = result.rstrip()
|
result = result.rstrip()
|
||||||
if result.endswith(','):
|
if result.endswith(','):
|
||||||
|
Loading…
Reference in New Issue
Block a user