forked from openlp/openlp
various fixes and improvements to the sword import.
This commit is contained in:
parent
6b75148e34
commit
d3a57ae46b
@ -101,7 +101,12 @@ class BibleImportForm(OpenLPWizard):
|
||||
self.select_stack.setCurrentIndex(0)
|
||||
if PYSWORD_AVAILABLE:
|
||||
self.pysword_folder_modules = modules.SwordModules()
|
||||
self.pysword_folder_modules_json = self.pysword_folder_modules.parse_modules()
|
||||
try:
|
||||
self.pysword_folder_modules_json = self.pysword_folder_modules.parse_modules()
|
||||
except FileNotFoundError:
|
||||
log.debug('No installed SWORD modules found in the default location')
|
||||
self.sword_bible_combo_box.clear()
|
||||
return
|
||||
bible_keys = self.pysword_folder_modules_json.keys()
|
||||
for key in bible_keys:
|
||||
self.sword_bible_combo_box.addItem(self.pysword_folder_modules_json[key]['description'], key)
|
||||
@ -464,6 +469,9 @@ class BibleImportForm(OpenLPWizard):
|
||||
if self.currentPage() == self.welcome_page:
|
||||
return True
|
||||
elif self.currentPage() == self.select_page:
|
||||
self.version_name_edit.clear()
|
||||
self.permissions_edit.clear()
|
||||
self.copyright_edit.clear()
|
||||
if self.field('source_format') == BibleFormat.OSIS:
|
||||
if not self.field('osis_location'):
|
||||
critical_error_message_box(UiStrings().NFSs, WizardStrings.YouSpecifyFile % WizardStrings.OSIS)
|
||||
@ -513,6 +521,8 @@ class BibleImportForm(OpenLPWizard):
|
||||
self.version_name_edit.setText(self.pysword_folder_modules_json[key]['description'])
|
||||
if 'distributionlicense' in self.pysword_folder_modules_json[key]:
|
||||
self.permissions_edit.setText(self.pysword_folder_modules_json[key]['distributionlicense'])
|
||||
if 'copyright' in self.pysword_folder_modules_json[key]:
|
||||
self.copyright_edit.setText(self.pysword_folder_modules_json[key]['copyright'])
|
||||
elif self.sword_tab_widget.currentIndex() == self.sword_tab_widget.indexOf(self.sword_zip_tab):
|
||||
if not self.field('sword_zip_path'):
|
||||
critical_error_message_box(UiStrings().NFSs, WizardStrings.YouSpecifyFile % WizardStrings.SWORD)
|
||||
|
@ -71,22 +71,21 @@ class SwordBible(BibleDB):
|
||||
num_books += len(books['nt'])
|
||||
self.wizard.progress_bar.setMaximum(num_books)
|
||||
# Import the bible
|
||||
for testament in ['ot', 'nt']:
|
||||
if testament in books:
|
||||
for book in books[testament]:
|
||||
book_ref_id = self.get_book_ref_id_by_name(book.name, num_books, language_id)
|
||||
book_details = BiblesResourcesDB.get_book_by_id(book_ref_id)
|
||||
db_book = self.create_book(book_details['name'], book_ref_id, book_details['testament_id'])
|
||||
for chapter_number in range(1, book.num_chapters + 1):
|
||||
if self.stop_import_flag:
|
||||
break
|
||||
verses = bible.get_iter(book.name, chapter_number)
|
||||
verse_number = 0
|
||||
for verse in verses:
|
||||
verse_number += 1
|
||||
self.create_verse(db_book.id, chapter_number, verse_number, verse)
|
||||
self.wizard.increment_progress_bar(
|
||||
translate('BiblesPlugin.Sword', 'Importing %s...') % db_book.name)
|
||||
for testament in books.keys():
|
||||
for book in books[testament]:
|
||||
book_ref_id = self.get_book_ref_id_by_name(book.name, num_books, language_id)
|
||||
book_details = BiblesResourcesDB.get_book_by_id(book_ref_id)
|
||||
db_book = self.create_book(book_details['name'], book_ref_id, book_details['testament_id'])
|
||||
for chapter_number in range(1, book.num_chapters + 1):
|
||||
if self.stop_import_flag:
|
||||
break
|
||||
verses = bible.get_iter(book.name, chapter_number)
|
||||
verse_number = 0
|
||||
for verse in verses:
|
||||
verse_number += 1
|
||||
self.create_verse(db_book.id, chapter_number, verse_number, verse)
|
||||
self.wizard.increment_progress_bar(
|
||||
translate('BiblesPlugin.Sword', 'Importing %s...') % db_book.name)
|
||||
self.session.commit()
|
||||
self.application.process_events()
|
||||
except Exception as e:
|
||||
|
Loading…
Reference in New Issue
Block a user