forked from openlp/openlp
Add option to import EasyWorship 6 database from any level in the database directory tree.
This commit is contained in:
parent
76000b4e26
commit
5a36232c93
@ -340,12 +340,30 @@ class EasyWorshipSongImport(SongImport):
|
|||||||
db_file.close()
|
db_file.close()
|
||||||
self.memo_file.close()
|
self.memo_file.close()
|
||||||
|
|
||||||
|
def _find_file(self, base_path, path_list):
|
||||||
|
"""
|
||||||
|
Find the specified file, with the option of the file being at any level in the specified directory structure.
|
||||||
|
|
||||||
|
:param base_path: the location search in
|
||||||
|
:param path_list: the targeted file, preceded by directories that may be their parents relative to the base_path
|
||||||
|
:return: path for targeted file
|
||||||
|
"""
|
||||||
|
target_file = ''
|
||||||
|
while len(path_list) > 0:
|
||||||
|
target_file = os.path.join(path_list[len(path_list) - 1], target_file)
|
||||||
|
path_list = path_list[:len(path_list) - 1]
|
||||||
|
full_path = os.path.join(base_path, target_file)
|
||||||
|
full_path = full_path[:len(full_path) - 1]
|
||||||
|
if os.path.isfile(full_path):
|
||||||
|
return full_path
|
||||||
|
return ''
|
||||||
|
|
||||||
def import_sqlite_db(self):
|
def import_sqlite_db(self):
|
||||||
"""
|
"""
|
||||||
Import the songs from an EasyWorship 6 SQLite database
|
Import the songs from an EasyWorship 6 SQLite database
|
||||||
"""
|
"""
|
||||||
songs_db_path = os.path.join(self.import_source, "Databases", "Data", "Songs.db")
|
songs_db_path = self._find_file(self.import_source, ["Databases", "Data", "Songs.db"])
|
||||||
song_words_db_path = os.path.join(self.import_source, "Databases", "Data", "SongWords.db")
|
song_words_db_path = self._find_file(self.import_source, ["Databases", "Data", "SongWords.db"])
|
||||||
# check to see if needed files are there
|
# check to see if needed files are there
|
||||||
if not os.path.isfile(songs_db_path):
|
if not os.path.isfile(songs_db_path):
|
||||||
self.log_error(songs_db_path, translate('SongsPlugin.EasyWorshipSongImport',
|
self.log_error(songs_db_path, translate('SongsPlugin.EasyWorshipSongImport',
|
||||||
|
Loading…
Reference in New Issue
Block a user