← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~phill-ridout/openlp/1211913_2.0 into lp:openlp/2.0

 

Phill has proposed merging lp:~phill-ridout/openlp/1211913_2.0 into lp:openlp/2.0.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1211913 in OpenLP: "Issues importing Sunday Plus FIles"
  https://bugs.launchpad.net/openlp/+bug/1211913

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180746

Fixes #1211913. The case of field names can change, so have taken that in to account by converting them to upper case
-- 
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180746
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/sundayplusimport.py'
--- openlp/plugins/songs/lib/sundayplusimport.py	2013-02-03 21:00:22 +0000
+++ openlp/plugins/songs/lib/sundayplusimport.py	2013-08-18 20:48:29 +0000
@@ -68,7 +68,7 @@
         for filename in self.importSource:
             if self.stopImportFlag:
                 return
-            song_file = open(filename)
+            song_file = open(filename, 'rb')
             self.doImportFile(song_file)
             song_file.close()
 
@@ -96,7 +96,7 @@
             # Now we are looking for the name.
             if data[i:i + 1] == '#':
                 name_end = data.find(':', i + 1)
-                name = data[i + 1:name_end]
+                name = data[i + 1:name_end].upper()
                 i = name_end + 1
                 while data[i:i + 1] == ' ':
                     i += 1
@@ -122,13 +122,13 @@
                     value = data[i:end]
                 # If we are in the main group.
                 if cell == False:
-                    if name == 'title':
+                    if name == 'TITLE':
                         self.title = self.decode(self.unescape(value))
-                    elif name == 'Author':
+                    elif name == 'AUTHOR':
                         author = self.decode(self.unescape(value))
                         if len(author):
                             self.addAuthor(author)
-                    elif name == 'Copyright':
+                    elif name == 'COPYRIGHT':
                         self.copyright = self.decode(self.unescape(value))
                     elif name[0:4] == 'CELL':
                         self.parse(value, cell = name[4:])
@@ -142,13 +142,13 @@
                             if len(value) >= 2 and value[-1] in ['0', '1', '2',
                                 '3', '4', '5', '6', '7', '8', '9']:
                                 verse_type = "%s%s" % (verse_type, value[-1])
-                    elif name == 'Hotkey':
+                    elif name == 'HOTKEY':
                         # Hotkey always appears after MARKER_NAME, so it
                         # effectively overrides MARKER_NAME, if present.
                         if len(value) and \
                             value in HOTKEY_TO_VERSE_TYPE.keys():
                             verse_type = HOTKEY_TO_VERSE_TYPE[value]
-                    if name == 'rtf':
+                    if name == 'RTF':
                         value = self.unescape(value)
                         result = strip_rtf(value, self.encoding)
                         if result is None:


Follow ups