forked from openlp/openlp
Fix handeling of control chars and escaped chars in VideoPsalm import. Fixes bug 1594945.
Fixes: https://launchpad.net/bugs/1594945
This commit is contained in:
parent
8fcf42cdc3
commit
69951133fe
@ -73,6 +73,14 @@ class VideoPsalmImport(SongImport):
|
|||||||
processed_content += c
|
processed_content += c
|
||||||
c = next(file_content_it)
|
c = next(file_content_it)
|
||||||
processed_content += '"' + c
|
processed_content += '"' + c
|
||||||
|
# Remove control characters
|
||||||
|
elif (c < chr(32)):
|
||||||
|
processed_content += ' '
|
||||||
|
# Handle escaped characters
|
||||||
|
elif c == '\\':
|
||||||
|
processed_content += c
|
||||||
|
c = next(file_content_it)
|
||||||
|
processed_content += c
|
||||||
else:
|
else:
|
||||||
processed_content += c
|
processed_content += c
|
||||||
songbook = json.loads(processed_content.strip())
|
songbook = json.loads(processed_content.strip())
|
||||||
|
@ -43,3 +43,5 @@ class TestVideoPsalmFileImport(SongImportTestHelper):
|
|||||||
"""
|
"""
|
||||||
self.file_import(os.path.join(TEST_PATH, 'videopsalm-as-safe-a-stronghold.json'),
|
self.file_import(os.path.join(TEST_PATH, 'videopsalm-as-safe-a-stronghold.json'),
|
||||||
self.load_external_result_data(os.path.join(TEST_PATH, 'as-safe-a-stronghold.json')))
|
self.load_external_result_data(os.path.join(TEST_PATH, 'as-safe-a-stronghold.json')))
|
||||||
|
self.file_import(os.path.join(TEST_PATH, 'videopsalm-as-safe-a-stronghold2.json'),
|
||||||
|
self.load_external_result_data(os.path.join(TEST_PATH, 'as-safe-a-stronghold2.json')))
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
{Abbreviation:"SB1",Copyright:"Public domain",Songs:[{ID:3,Composer:"Unknown",Author:"Martin Luther",Copyright:"Public
|
||||||
|
Domain",Theme:"tema1
|
||||||
|
tema2",CCLI:"12345",Alias:"A safe stronghold",Memo1:"This is
|
||||||
|
the first comment
|
||||||
|
",Memo2:"This is
|
||||||
|
the second comment
|
||||||
|
",Memo3:"This is
|
||||||
|
the third comment
|
||||||
|
",Reference:"reference",Guid:"jtCkrJdPIUOmECjaQylg/g",Verses:[{
|
||||||
|
Text:"As safe a stronghold our God is still,
|
||||||
|
A trusty shield and weapon;
|
||||||
|
He’ll help us clear from all the ill
|
||||||
|
That hath us now o’ertaken.
|
||||||
|
The ancient prince of hell
|
||||||
|
Hath risen with purpose fell;
|
||||||
|
Strong mail of craft and power
|
||||||
|
He weareth in this hour;
|
||||||
|
On earth is not His fellow."},{ID:2,
|
||||||
|
Text:"With \"force\" of arms we nothing can,
|
||||||
|
Full soon were we down-ridden;
|
||||||
|
But for us fights \\ the proper Man,
|
||||||
|
Whom God Himself hath bidden.
|
||||||
|
Ask ye: Who is this same?
|
||||||
|
Christ Jesus is His name,
|
||||||
|
The Lord Sabaoth’s Son;
|
||||||
|
He, and no other one,
|
||||||
|
Shall conquer in the battle."},{ID:3,
|
||||||
|
Text:"And were this world all devils o’er,
|
||||||
|
And watching to devour us,
|
||||||
|
We lay it not to heart so sore;
|
||||||
|
Not they can overpower us.
|
||||||
|
And let the prince of ill
|
||||||
|
Look grim as e’er he will,
|
||||||
|
He harms us not a whit;
|
||||||
|
For why? his doom is writ;
|
||||||
|
A word shall quickly slay him."},{ID:4,
|
||||||
|
Text:"God’s word, for all their craft and force,
|
||||||
|
One moment will not linger,
|
||||||
|
But, spite of hell, shall have its course;
|
||||||
|
’Tis written by His finger.
|
||||||
|
And though they take our life,
|
||||||
|
Goods, honour, children, wife,
|
||||||
|
Yet is their profit small:
|
||||||
|
These things shall vanish all;
|
||||||
|
The city of God remaineth."}],AudioFile:"282.mp3",IsAudioFileEnabled:1,
|
||||||
|
Text:"A Safe Stronghold Our God is Still"}],Guid:"khiHU2blX0Kb41dGdbDLhA",VersionDate:"20121012000000",
|
||||||
|
Text:"SongBook1"}
|
Loading…
Reference in New Issue
Block a user