forked from openlp/openlp
Better handling of progress bar. Attempt to get 'other' type verses into database
This commit is contained in:
parent
c25b0aa8ff
commit
062a88e2f2
@ -119,7 +119,16 @@ class OpenSongImport(SongImport):
|
|||||||
import will not be committed to the database (useful for test scripts).
|
import will not be committed to the database (useful for test scripts).
|
||||||
"""
|
"""
|
||||||
success = False
|
success = False
|
||||||
self.import_wizard.importProgressBar.setMaximum(len(self.filenames))
|
numfiles = 0
|
||||||
|
for filename in self.filenames:
|
||||||
|
ext = os.path.splitext(filename)[1]
|
||||||
|
if ext.lower() == u'.zip':
|
||||||
|
z = ZipFile(filename, u'r')
|
||||||
|
numfiles += len(z.infolist())
|
||||||
|
else:
|
||||||
|
numfiles += 1
|
||||||
|
log.debug("Total number of files: %d", numfiles)
|
||||||
|
self.import_wizard.importProgressBar.setMaximum(numfiles)
|
||||||
for filename in self.filenames:
|
for filename in self.filenames:
|
||||||
if self.stop_import_flag:
|
if self.stop_import_flag:
|
||||||
break
|
break
|
||||||
|
@ -258,6 +258,7 @@ class SongImport(QtCore.QObject):
|
|||||||
+ '@' + self.alternate_title
|
+ '@' + self.alternate_title
|
||||||
song.song_number = self.song_number
|
song.song_number = self.song_number
|
||||||
song.search_lyrics = u''
|
song.search_lyrics = u''
|
||||||
|
verses_changed_to_other = []
|
||||||
sxml = SongXMLBuilder()
|
sxml = SongXMLBuilder()
|
||||||
for (versetag, versetext) in self.verses:
|
for (versetag, versetext) in self.verses:
|
||||||
if versetag[0] == u'C':
|
if versetag[0] == u'C':
|
||||||
@ -273,10 +274,16 @@ class SongImport(QtCore.QObject):
|
|||||||
elif versetag[0] == u'E':
|
elif versetag[0] == u'E':
|
||||||
versetype = VerseType.to_string(VerseType.Ending)
|
versetype = VerseType.to_string(VerseType.Ending)
|
||||||
else:
|
else:
|
||||||
|
verses_changed_to_other.append(versetag)
|
||||||
versetype = VerseType.to_string(VerseType.Other)
|
versetype = VerseType.to_string(VerseType.Other)
|
||||||
|
print "Versetype", versetype
|
||||||
sxml.add_verse_to_lyrics(versetype, versetag[1:], versetext)
|
sxml.add_verse_to_lyrics(versetype, versetag[1:], versetext)
|
||||||
song.search_lyrics += u' ' + self.remove_punctuation(versetext)
|
song.search_lyrics += u' ' + self.remove_punctuation(versetext)
|
||||||
|
print verses_changed_to_other
|
||||||
song.lyrics = unicode(sxml.extract_xml(), u'utf-8')
|
song.lyrics = unicode(sxml.extract_xml(), u'utf-8')
|
||||||
|
for tag in verses_changed_to_other:
|
||||||
|
pass
|
||||||
|
# xxx sort out the "other" verses
|
||||||
song.verse_order = u' '.join(self.verse_order_list)
|
song.verse_order = u' '.join(self.verse_order_list)
|
||||||
song.copyright = self.copyright
|
song.copyright = self.copyright
|
||||||
song.comments = self.comments
|
song.comments = self.comments
|
||||||
|
@ -48,7 +48,7 @@ def test():
|
|||||||
manager = Manager(u'songs', init_schema)
|
manager = Manager(u'songs', init_schema)
|
||||||
o = OpenSongImport(manager, filenames=[u'test.opensong'])
|
o = OpenSongImport(manager, filenames=[u'test.opensong'])
|
||||||
o.import_wizard = wizard_stub()
|
o.import_wizard = wizard_stub()
|
||||||
o.commit = False
|
o.commit = True
|
||||||
o.do_import()
|
o.do_import()
|
||||||
o.print_song()
|
o.print_song()
|
||||||
assert o.copyright == u'2010 Martin Thompson'
|
assert o.copyright == u'2010 Martin Thompson'
|
||||||
|
Loading…
Reference in New Issue
Block a user