forked from openlp/openlp
filter returns an itterator in Py3 (as apposed to a list in Py2)
This commit is contained in:
parent
3499f1ee65
commit
f725f8a92b
@ -365,7 +365,7 @@ def retrieve_windows_encoding(recommendation=None):
|
|||||||
[pair[1] for pair in encodings], 0, False)
|
[pair[1] for pair in encodings], 0, False)
|
||||||
if not choice[1]:
|
if not choice[1]:
|
||||||
return None
|
return None
|
||||||
return filter(lambda item: item[1] == choice[0], encodings)[0][0]
|
return next(filter(lambda item: item[1] == choice[0], encodings))[0]
|
||||||
|
|
||||||
|
|
||||||
def clean_string(string):
|
def clean_string(string):
|
||||||
|
@ -37,7 +37,7 @@ import re
|
|||||||
import struct
|
import struct
|
||||||
|
|
||||||
from openlp.core.ui.wizard import WizardStrings
|
from openlp.core.ui.wizard import WizardStrings
|
||||||
from openlp.plugins.songs.lib import VerseType
|
from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
|
||||||
from openlp.plugins.songs.lib.songimport import SongImport
|
from openlp.plugins.songs.lib.songimport import SongImport
|
||||||
|
|
||||||
TITLE = 1
|
TITLE = 1
|
||||||
@ -133,16 +133,16 @@ class SongShowPlusImport(SongImport):
|
|||||||
else:
|
else:
|
||||||
length_descriptor, = struct.unpack("B", song_data.read(1))
|
length_descriptor, = struct.unpack("B", song_data.read(1))
|
||||||
log.debug(length_descriptor_size)
|
log.debug(length_descriptor_size)
|
||||||
data = song_data.read(length_descriptor).decode()
|
data = song_data.read(length_descriptor)
|
||||||
if block_key == TITLE:
|
if block_key == TITLE:
|
||||||
self.title = self.decode(data)
|
self.title = self.decode(data)
|
||||||
elif block_key == AUTHOR:
|
elif block_key == AUTHOR:
|
||||||
authors = data.split(" / ")
|
authors = self.decode(data).split(" / ")
|
||||||
for author in authors:
|
for author in authors:
|
||||||
if author.find(",") !=-1:
|
if author.find(",") !=-1:
|
||||||
authorParts = author.split(", ")
|
authorParts = author.split(", ")
|
||||||
author = authorParts[1] + " " + authorParts[0]
|
author = authorParts[1] + " " + authorParts[0]
|
||||||
self.parse_author(self.decode(author))
|
self.parse_author(author)
|
||||||
elif block_key == COPYRIGHT:
|
elif block_key == COPYRIGHT:
|
||||||
self.addCopyright(self.decode(data))
|
self.addCopyright(self.decode(data))
|
||||||
elif block_key == CCLI_NO:
|
elif block_key == CCLI_NO:
|
||||||
@ -158,7 +158,7 @@ class SongShowPlusImport(SongImport):
|
|||||||
elif block_key == COMMENTS:
|
elif block_key == COMMENTS:
|
||||||
self.comments = self.decode(data)
|
self.comments = self.decode(data)
|
||||||
elif block_key == VERSE_ORDER:
|
elif block_key == VERSE_ORDER:
|
||||||
verse_tag = self.to_openlp_verse_tag(data, True)
|
verse_tag = self.to_openlp_verse_tag(self.decode(data), True)
|
||||||
if verse_tag:
|
if verse_tag:
|
||||||
if not isinstance(verse_tag, str):
|
if not isinstance(verse_tag, str):
|
||||||
verse_tag = self.decode(verse_tag)
|
verse_tag = self.decode(verse_tag)
|
||||||
@ -212,4 +212,4 @@ class SongShowPlusImport(SongImport):
|
|||||||
try:
|
try:
|
||||||
return str(data, chardet.detect(data)['encoding'])
|
return str(data, chardet.detect(data)['encoding'])
|
||||||
except:
|
except:
|
||||||
return str(data, 'cp1252')
|
return str(data, retrieve_windows_encoding())
|
Loading…
Reference in New Issue
Block a user