forked from openlp/openlp
Cleanup: Move song import plugins into subfolder
bzr-revno: 2398
This commit is contained in:
commit
520c251923
|
@ -44,7 +44,7 @@ from openlp.core.lib.ui import set_case_insensitive_completer, critical_error_me
|
|||
from openlp.plugins.songs.lib import VerseType, clean_song
|
||||
from openlp.plugins.songs.lib.db import Book, Song, Author, AuthorType, Topic, MediaFile
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
from openlp.plugins.songs.lib.xml import SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import SongXML
|
||||
from openlp.plugins.songs.forms.editsongdialog import Ui_EditSongDialog
|
||||
from openlp.plugins.songs.forms.editverseform import EditVerseForm
|
||||
from openlp.plugins.songs.forms.mediafilesform import MediaFilesForm
|
||||
|
|
|
@ -33,7 +33,7 @@ from PyQt4 import QtCore, QtGui
|
|||
|
||||
from openlp.core.lib import build_icon
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.xml import SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import SongXML
|
||||
|
||||
|
||||
class SongReviewWidget(QtGui.QWidget):
|
||||
|
|
|
@ -34,23 +34,23 @@ import logging
|
|||
|
||||
from openlp.core.common import translate, UiStrings
|
||||
from openlp.core.ui.wizard import WizardStrings
|
||||
from .opensongimport import OpenSongImport
|
||||
from .easyslidesimport import EasySlidesImport
|
||||
from .olpimport import OpenLPSongImport
|
||||
from .openlyricsimport import OpenLyricsImport
|
||||
from .wowimport import WowImport
|
||||
from .cclifileimport import CCLIFileImport
|
||||
from .dreambeamimport import DreamBeamImport
|
||||
from .powersongimport import PowerSongImport
|
||||
from .ewimport import EasyWorshipSongImport
|
||||
from .songbeamerimport import SongBeamerImport
|
||||
from .songshowplusimport import SongShowPlusImport
|
||||
from .songproimport import SongProImport
|
||||
from .sundayplusimport import SundayPlusImport
|
||||
from .foilpresenterimport import FoilPresenterImport
|
||||
from .zionworximport import ZionWorxImport
|
||||
from .propresenterimport import ProPresenterImport
|
||||
from .worshipassistantimport import WorshipAssistantImport
|
||||
from .importers.opensong import OpenSongImport
|
||||
from .importers.easyslides import EasySlidesImport
|
||||
from .importers.openlp import OpenLPSongImport
|
||||
from .importers.openlyrics import OpenLyricsImport
|
||||
from .importers.wordsofworship import WordsOfWorshipImport
|
||||
from .importers.cclifile import CCLIFileImport
|
||||
from .importers.dreambeam import DreamBeamImport
|
||||
from .importers.powersong import PowerSongImport
|
||||
from .importers.easyworship import EasyWorshipSongImport
|
||||
from .importers.songbeamer import SongBeamerImport
|
||||
from .importers.songshowplus import SongShowPlusImport
|
||||
from .importers.songpro import SongProImport
|
||||
from .importers.sundayplus import SundayPlusImport
|
||||
from .importers.foilpresenter import FoilPresenterImport
|
||||
from .importers.zionworx import ZionWorxImport
|
||||
from .importers.propresenter import ProPresenterImport
|
||||
from .importers.worshipassistant import WorshipAssistantImport
|
||||
# Imports that might fail
|
||||
|
||||
|
||||
|
@ -58,13 +58,13 @@ log = logging.getLogger(__name__)
|
|||
|
||||
|
||||
try:
|
||||
from .sofimport import SofImport
|
||||
from .importers.songsoffellowship import SongsOfFellowshipImport
|
||||
HAS_SOF = True
|
||||
except ImportError:
|
||||
log.exception('Error importing %s', 'SofImport')
|
||||
log.exception('Error importing %s', 'SongsOfFellowshipImport')
|
||||
HAS_SOF = False
|
||||
try:
|
||||
from .oooimport import OooImport
|
||||
from .importers.openoffice import OpenOfficeImport
|
||||
HAS_OOO = True
|
||||
except ImportError:
|
||||
log.exception('Error importing %s', 'OooImport')
|
||||
|
@ -72,14 +72,14 @@ except ImportError:
|
|||
HAS_MEDIASHOUT = False
|
||||
if os.name == 'nt':
|
||||
try:
|
||||
from .mediashoutimport import MediaShoutImport
|
||||
from .importers.mediashout import MediaShoutImport
|
||||
HAS_MEDIASHOUT = True
|
||||
except ImportError:
|
||||
log.exception('Error importing %s', 'MediaShoutImport')
|
||||
HAS_WORSHIPCENTERPRO = False
|
||||
if os.name == 'nt':
|
||||
try:
|
||||
from .worshipcenterproimport import WorshipCenterProImport
|
||||
from .importers.worshipcenterpro import WorshipCenterProImport
|
||||
HAS_WORSHIPCENTERPRO = True
|
||||
except ImportError:
|
||||
log.exception('Error importing %s', 'WorshipCenterProImport')
|
||||
|
@ -109,7 +109,7 @@ class SongFormat(object):
|
|||
Name of the format, e.g. ``'OpenLyrics'``
|
||||
|
||||
``'prefix'``
|
||||
Prefix for Qt objects. Use mixedCase, e.g. ``'open_lyrics'``
|
||||
Prefix for Qt objects. Use mixedCase, e.g. ``'openLyrics'``
|
||||
See ``SongImportForm.add_file_select_item()``
|
||||
|
||||
Optional attributes for each song format:
|
||||
|
@ -190,7 +190,7 @@ class SongFormat(object):
|
|||
OpenLyrics: {
|
||||
'class': OpenLyricsImport,
|
||||
'name': 'OpenLyrics',
|
||||
'prefix': 'open_lyrics',
|
||||
'prefix': 'openLyrics',
|
||||
'filter': '%s (*.xml)' % translate('SongsPlugin.ImportWizardForm', 'OpenLyrics Files'),
|
||||
'comboBoxText': translate('SongsPlugin.ImportWizardForm', 'OpenLyrics or OpenLP 2.0 Exported Song')
|
||||
},
|
||||
|
@ -318,7 +318,7 @@ class SongFormat(object):
|
|||
'filter': '%s (*.ptf)' % translate('SongsPlugin.ImportWizardForm', 'SundayPlus Song Files')
|
||||
},
|
||||
WordsOfWorship: {
|
||||
'class': WowImport,
|
||||
'class': WordsOfWorshipImport,
|
||||
'name': 'Words of Worship',
|
||||
'prefix': 'wordsOfWorship',
|
||||
'filter': '%s (*.wsg *.wow-song)' % translate('SongsPlugin.ImportWizardForm', 'Words Of Worship Song Files')
|
||||
|
@ -423,10 +423,10 @@ class SongFormat(object):
|
|||
|
||||
SongFormat.set(SongFormat.SongsOfFellowship, 'availability', HAS_SOF)
|
||||
if HAS_SOF:
|
||||
SongFormat.set(SongFormat.SongsOfFellowship, 'class', SofImport)
|
||||
SongFormat.set(SongFormat.SongsOfFellowship, 'class', SongsOfFellowshipImport)
|
||||
SongFormat.set(SongFormat.Generic, 'availability', HAS_OOO)
|
||||
if HAS_OOO:
|
||||
SongFormat.set(SongFormat.Generic, 'class', OooImport)
|
||||
SongFormat.set(SongFormat.Generic, 'class', OpenOfficeImport)
|
||||
SongFormat.set(SongFormat.MediaShout, 'availability', HAS_MEDIASHOUT)
|
||||
if HAS_MEDIASHOUT:
|
||||
SongFormat.set(SongFormat.MediaShout, 'class', MediaShoutImport)
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2014 Raoul Snyman #
|
||||
# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan #
|
||||
# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, #
|
||||
# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. #
|
||||
# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, #
|
||||
# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, #
|
||||
# Frode Woldsund, Martin Zibricky, Patrick Zimmermann #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
# Software Foundation; version 2 of the License. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
||||
# more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`~openlp.plugins.songs.lib.import` module contains importers for the Songs plugin.
|
||||
"""
|
|
@ -27,15 +27,14 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`dreambeamimport` module provides the functionality for importing
|
||||
DreamBeam songs into the OpenLP database.
|
||||
The :mod:`dreambeam` module provides the functionality for importing DreamBeam songs into the OpenLP database.
|
||||
"""
|
||||
import logging
|
||||
|
||||
from lxml import etree, objectify
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
|
||||
log = logging.getLogger(__name__)
|
|
@ -33,7 +33,7 @@ import re
|
|||
from lxml import etree, objectify
|
||||
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -27,8 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`ewimport` module provides the functionality for importing
|
||||
EasyWorship song databases into the current installation database.
|
||||
The :mod:`easyworship` module provides the functionality for importing EasyWorship song databases into OpenLP.
|
||||
"""
|
||||
|
||||
import os
|
|
@ -99,10 +99,10 @@ from lxml import etree, objectify
|
|||
from openlp.core.lib import translate
|
||||
from openlp.core.ui.wizard import WizardStrings
|
||||
from openlp.plugins.songs.lib import clean_song, VerseType
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.db import Author, Book, Song, Topic
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
from openlp.plugins.songs.lib.xml import SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import SongXML
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -27,13 +27,13 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`mediashoutimport` module provides the functionality for importing
|
||||
The :mod:`mediashout` module provides the functionality for importing
|
||||
a MediaShout database into the OpenLP database.
|
||||
"""
|
||||
import pyodbc
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
VERSE_TAGS = ['V', 'C', 'B', 'O', 'P', 'I', 'E']
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`olpimport` module provides the functionality for importing OpenLP
|
||||
The :mod:`openlp` module provides the functionality for importing OpenLP
|
||||
song databases into the current installation database.
|
||||
"""
|
||||
import logging
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`openlyricsimport` module provides the functionality for importing
|
||||
The :mod:`openlyrics` module provides the functionality for importing
|
||||
songs which are saved as OpenLyrics files.
|
||||
"""
|
||||
|
||||
|
@ -37,9 +37,9 @@ import os
|
|||
from lxml import etree
|
||||
|
||||
from openlp.core.ui.wizard import WizardStrings
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
from openlp.plugins.songs.lib.xml import OpenLyrics, OpenLyricsError
|
||||
from openlp.plugins.songs.lib.openlyricsxml import OpenLyrics, OpenLyricsError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -52,7 +52,7 @@ except ImportError:
|
|||
PAGE_BOTH = 6
|
||||
|
||||
|
||||
class OooImport(SongImport):
|
||||
class OpenOfficeImport(SongImport):
|
||||
"""
|
||||
Import songs from Impress/Powerpoint docs using Impress
|
||||
"""
|
|
@ -35,7 +35,7 @@ from lxml.etree import Error, LxmlError
|
|||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
|
||||
log = logging.getLogger(__name__)
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`powersongimport` module provides the functionality for importing
|
||||
The :mod:`powersong` module provides the functionality for importing
|
||||
PowerSong songs into the OpenLP database.
|
||||
"""
|
||||
import logging
|
||||
|
@ -35,7 +35,7 @@ import fnmatch
|
|||
import os
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -90,7 +90,7 @@ class PowerSongImport(SongImport):
|
|||
"""
|
||||
Receive either a list of files or a folder (unicode) to import.
|
||||
"""
|
||||
from .importer import SongFormat
|
||||
from openlp.plugins.songs.lib.importer import SongFormat
|
||||
ps_string = SongFormat.get(SongFormat.PowerSong, 'name')
|
||||
if isinstance(self.import_source, str):
|
||||
if os.path.isdir(self.import_source):
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`propresenterimport` module provides the functionality for importing
|
||||
The :mod:`propresenter` module provides the functionality for importing
|
||||
ProPresenter song files into the current installation database.
|
||||
"""
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`songbeamerimport` module provides the functionality for importing SongBeamer songs into the OpenLP database.
|
||||
The :mod:`songbeamer` module provides the functionality for importing SongBeamer songs into the OpenLP database.
|
||||
"""
|
||||
import chardet
|
||||
import codecs
|
||||
|
@ -36,7 +36,7 @@ import os
|
|||
import re
|
||||
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -39,7 +39,7 @@ from openlp.core.ui.wizard import WizardStrings
|
|||
from openlp.plugins.songs.lib import clean_song, VerseType
|
||||
from openlp.plugins.songs.lib.db import Song, Author, Topic, Book, MediaFile
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
from openlp.plugins.songs.lib.xml import SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import SongXML
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -27,13 +27,13 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`songproimport` module provides the functionality for importing SongPro
|
||||
The :mod:`songpro` module provides the functionality for importing SongPro
|
||||
songs into the OpenLP database.
|
||||
"""
|
||||
import re
|
||||
|
||||
from openlp.plugins.songs.lib import strip_rtf
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
|
||||
class SongProImport(SongImport):
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`songshowplusimport` module provides the functionality for importing SongShow Plus songs into the OpenLP
|
||||
The :mod:`songshowplus` module provides the functionality for importing SongShow Plus songs into the OpenLP
|
||||
database.
|
||||
"""
|
||||
import chardet
|
||||
|
@ -38,7 +38,7 @@ import struct
|
|||
|
||||
from openlp.core.ui.wizard import WizardStrings
|
||||
from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
TITLE = 1
|
||||
AUTHOR = 2
|
|
@ -37,13 +37,13 @@ import logging
|
|||
import os
|
||||
import re
|
||||
|
||||
from .oooimport import OooImport
|
||||
from .openoffice import OpenOfficeImport
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
if os.name == 'nt':
|
||||
from .oooimport import PAGE_BEFORE, PAGE_AFTER, PAGE_BOTH
|
||||
from .openoffice import PAGE_BEFORE, PAGE_AFTER, PAGE_BOTH
|
||||
RuntimeException = Exception
|
||||
else:
|
||||
try:
|
||||
|
@ -62,7 +62,7 @@ except ImportError:
|
|||
ITALIC = 2
|
||||
|
||||
|
||||
class SofImport(OooImport):
|
||||
class SongsOfFellowshipImport(OpenOfficeImport):
|
||||
"""
|
||||
Import songs provided on disks with the Songs of Fellowship music books
|
||||
VOLS1_2.RTF, sof3words.rtf and sof4words.rtf
|
||||
|
@ -83,7 +83,7 @@ class SofImport(OooImport):
|
|||
Initialise the class. Requires a songmanager class which is passed
|
||||
to SongImport for writing song to disk
|
||||
"""
|
||||
OooImport.__init__(self, manager, **kwargs)
|
||||
OpenOfficeImport.__init__(self, manager, **kwargs)
|
||||
self.song = False
|
||||
|
||||
def process_ooo_document(self):
|
|
@ -32,7 +32,7 @@ import re
|
|||
|
||||
from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
|
||||
from openlp.plugins.songs.lib import strip_rtf
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
HOTKEY_TO_VERSE_TYPE = {
|
||||
'1': 'v1',
|
|
@ -27,24 +27,23 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`wowimport` module provides the functionality for importing Words of
|
||||
The :mod:`wordsofworship` module provides the functionality for importing Words of
|
||||
Worship songs into the OpenLP database.
|
||||
"""
|
||||
import os
|
||||
import logging
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
BLOCK_TYPES = ('V', 'C', 'B')
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class WowImport(SongImport):
|
||||
class WordsOfWorshipImport(SongImport):
|
||||
"""
|
||||
The :class:`WowImport` class provides the ability to import song files from
|
||||
Words of Worship.
|
||||
The :class:`WordsOfWorshipImport` class provides the ability to import song files from Words of Worship.
|
||||
|
||||
**Words Of Worship Song File Format:**
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`worshipassistantimport` module provides the functionality for importing
|
||||
The :mod:`worshipassistant` module provides the functionality for importing
|
||||
Worship Assistant songs into the OpenLP database.
|
||||
"""
|
||||
import chardet
|
||||
|
@ -37,7 +37,7 @@ import re
|
|||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -35,7 +35,7 @@ import logging
|
|||
import pyodbc
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -27,14 +27,13 @@
|
|||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
"""
|
||||
The :mod:`zionworximport` module provides the functionality for importing
|
||||
ZionWorx songs into the OpenLP database.
|
||||
The :mod:`zionworx` module provides the functionality for importing ZionWorx songs into the OpenLP database.
|
||||
"""
|
||||
import csv
|
||||
import logging
|
||||
|
||||
from openlp.core.common import translate
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -46,7 +46,7 @@ from openlp.plugins.songs.forms.songexportform import SongExportForm
|
|||
from openlp.plugins.songs.lib import VerseType, clean_string, delete_song
|
||||
from openlp.plugins.songs.lib.db import Author, AuthorType, Song, Book, MediaFile
|
||||
from openlp.plugins.songs.lib.ui import SongStrings
|
||||
from openlp.plugins.songs.lib.xml import OpenLyrics, SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import OpenLyrics, SongXML
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ from lxml import etree
|
|||
|
||||
from openlp.core.common import RegistryProperties, check_directory_exists, translate
|
||||
from openlp.core.utils import clean_filename
|
||||
from openlp.plugins.songs.lib.xml import OpenLyrics
|
||||
from openlp.plugins.songs.lib.openlyricsxml import OpenLyrics
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ from html.parser import HTMLParser
|
|||
from bs4 import BeautifulSoup, NavigableString
|
||||
|
||||
from openlp.plugins.songs.lib import Song, VerseType, clean_song, Author
|
||||
from openlp.plugins.songs.lib.xml import SongXML
|
||||
from openlp.plugins.songs.lib.openlyricsxml import SongXML
|
||||
|
||||
USER_AGENT = 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; GT-I9000 ' \
|
||||
'Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 ' \
|
||||
|
|
|
@ -49,7 +49,7 @@ from openlp.plugins.songs.lib import clean_song, upgrade
|
|||
from openlp.plugins.songs.lib.db import init_schema, Song
|
||||
from openlp.plugins.songs.lib.mediaitem import SongSearch
|
||||
from openlp.plugins.songs.lib.importer import SongFormat
|
||||
from openlp.plugins.songs.lib.olpimport import OpenLPSongImport
|
||||
from openlp.plugins.songs.lib.importers.openlp import OpenLPSongImport
|
||||
from openlp.plugins.songs.lib.mediaitem import SongMediaItem
|
||||
from openlp.plugins.songs.lib.songstab import SongsTab
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ from unittest import TestCase
|
|||
|
||||
from tests.functional import MagicMock, patch
|
||||
|
||||
from openlp.plugins.songs.lib.ewimport import EasyWorshipSongImport, FieldDescEntry, FieldType
|
||||
from openlp.plugins.songs.lib.importers.easyworship import EasyWorshipSongImport, FieldDescEntry, FieldType
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'easyworshipsongs'))
|
||||
|
@ -178,7 +178,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test creating an instance of the EasyWorship file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
@ -192,7 +192,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test finding an existing field in a given list using the :mod:`find_field`
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager" and a list of field descriptions.
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
importer.field_descriptions = TEST_FIELD_DESCS
|
||||
|
@ -210,7 +210,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test finding an non-existing field in a given list using the :mod:`find_field`
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager" and a list of field descriptions
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
importer.field_descriptions = TEST_FIELD_DESCS
|
||||
|
@ -228,8 +228,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out struct class, and a mocked out "manager" and a list of
|
||||
# field descriptions
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.struct') as mocked_struct:
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.struct') as mocked_struct:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
|
||||
|
@ -246,7 +246,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`get_field` module
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager", an encoding and some test data and known results
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
importer.encoding = TEST_DATA_ENCODING
|
||||
|
@ -269,7 +269,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
"""
|
||||
for test_results in GET_MEMO_FIELD_TEST_RESULTS:
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager", a mocked out memo_file and an encoding
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_memo_file = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
|
@ -300,8 +300,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`do_import` module opens the correct files
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.os.path') as mocked_os_path:
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
mocked_os_path.isfile.side_effect = [True, False]
|
||||
|
@ -319,8 +319,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`do_import` module produces an error when Songs.MB not found.
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.os.path') as mocked_os_path:
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
importer.log_error = MagicMock()
|
||||
|
@ -339,8 +339,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`do_import` module handles invalid database files correctly
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, os.path and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.os.path') as mocked_os_path:
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
mocked_os_path.isfile.return_value = True
|
||||
|
@ -358,10 +358,10 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`do_import` module handles invalid memo files correctly
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.os.path') as mocked_os_path, \
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path, \
|
||||
patch('builtins.open') as mocked_open, \
|
||||
patch('openlp.plugins.songs.lib.ewimport.struct') as mocked_struct:
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.struct') as mocked_struct:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
mocked_os_path.isfile.return_value = True
|
||||
|
@ -385,10 +385,10 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
Test the :mod:`do_import` converts the code page to the encoding correctly
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.os.path') as mocked_os_path, \
|
||||
patch('builtins.open'), patch('openlp.plugins.songs.lib.ewimport.struct') as mocked_struct, \
|
||||
patch('openlp.plugins.songs.lib.ewimport.retrieve_windows_encoding') as \
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path, \
|
||||
patch('builtins.open'), patch('openlp.plugins.songs.lib.importers.easyworship.struct') as mocked_struct, \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.retrieve_windows_encoding') as \
|
||||
mocked_retrieve_windows_encoding:
|
||||
mocked_manager = MagicMock()
|
||||
importer = EasyWorshipSongImport(mocked_manager, filenames=[])
|
||||
|
@ -413,8 +413,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
|
||||
# GIVEN: Test files with a mocked out SongImport class, a mocked out "manager", a mocked out "import_wizard",
|
||||
# and mocked out "author", "add_copyright", "add_verse", "finish" methods.
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.retrieve_windows_encoding') as \
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.retrieve_windows_encoding') as \
|
||||
mocked_retrieve_windows_encoding:
|
||||
mocked_retrieve_windows_encoding.return_value = 'cp1252'
|
||||
mocked_manager = MagicMock()
|
||||
|
@ -469,8 +469,8 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
|
||||
# GIVEN: Test files with a mocked out SongImport class, a mocked out "manager", a mocked out "import_wizard",
|
||||
# and mocked out "author", "add_copyright", "add_verse", "finish" methods.
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.ewimport.retrieve_windows_encoding') \
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.easyworship.retrieve_windows_encoding') \
|
||||
as mocked_retrieve_windows_encoding:
|
||||
mocked_retrieve_windows_encoding.return_value = 'cp1252'
|
||||
mocked_manager = MagicMock()
|
||||
|
@ -509,7 +509,7 @@ class TestEasyWorshipSongImport(TestCase):
|
|||
"""
|
||||
|
||||
# GIVEN: A mocked out SongImport class, a mocked out "manager" and mocked out "author" method.
|
||||
with patch('openlp.plugins.songs.lib.ewimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_add_author = MagicMock()
|
||||
importer = EasyWorshipSongImportLogger(mocked_manager)
|
||||
|
|
|
@ -34,7 +34,7 @@ import os
|
|||
from unittest import TestCase
|
||||
from tests.functional import patch, MagicMock
|
||||
|
||||
from openlp.plugins.songs.lib.foilpresenterimport import FoilPresenter
|
||||
from openlp.plugins.songs.lib.importers.foilpresenter import FoilPresenter
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', '/resources/foilpresentersongs'))
|
||||
|
@ -57,27 +57,27 @@ class TestFoilPresenter(TestCase):
|
|||
# _process_topics
|
||||
|
||||
def setUp(self):
|
||||
self.child_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._child')
|
||||
self.clean_song_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.clean_song')
|
||||
self.objectify_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.objectify')
|
||||
self.child_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._child')
|
||||
self.clean_song_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.clean_song')
|
||||
self.objectify_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.objectify')
|
||||
self.process_authors_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_authors')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_authors')
|
||||
self.process_cclinumber_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_cclinumber')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_cclinumber')
|
||||
self.process_comments_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_comments')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_comments')
|
||||
self.process_lyrics_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_lyrics')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_lyrics')
|
||||
self.process_songbooks_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_songbooks')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_songbooks')
|
||||
self.process_titles_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_titles')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_titles')
|
||||
self.process_topics_patcher = \
|
||||
patch('openlp.plugins.songs.lib.foilpresenterimport.FoilPresenter._process_topics')
|
||||
self.re_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.re')
|
||||
self.song_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.Song')
|
||||
self.song_xml_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.SongXML')
|
||||
self.translate_patcher = patch('openlp.plugins.songs.lib.foilpresenterimport.translate')
|
||||
patch('openlp.plugins.songs.lib.importers.foilpresenter.FoilPresenter._process_topics')
|
||||
self.re_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.re')
|
||||
self.song_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.Song')
|
||||
self.song_xml_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.SongXML')
|
||||
self.translate_patcher = patch('openlp.plugins.songs.lib.importers.foilpresenter.translate')
|
||||
|
||||
self.mocked_child = self.child_patcher.start()
|
||||
self.mocked_clean_song = self.clean_song_patcher.start()
|
||||
|
|
|
@ -34,8 +34,8 @@ import os
|
|||
from unittest import TestCase
|
||||
|
||||
from tests.functional import MagicMock, patch
|
||||
from openlp.plugins.songs.lib.openlyricsimport import OpenLyricsImport
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.openlyrics import OpenLyricsImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__),
|
||||
'..', '..', '..', 'resources', 'openlyricssongs'))
|
||||
|
@ -69,7 +69,7 @@ class TestOpenLyricsImport(TestCase):
|
|||
Test creating an instance of the OpenLyrics file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.openlyrics.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
|
|
@ -34,7 +34,7 @@ import os
|
|||
from unittest import TestCase
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from openlp.plugins.songs.lib.opensongimport import OpenSongImport
|
||||
from openlp.plugins.songs.lib.importers.opensong import OpenSongImport
|
||||
from tests.functional import patch, MagicMock
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
|
@ -45,7 +45,7 @@ class TestOpenSongFileImport(SongImportTestHelper):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.importer_class_name = 'OpenSongImport'
|
||||
self.importer_module_name = 'opensongimport'
|
||||
self.importer_module_name = 'opensong'
|
||||
super(TestOpenSongFileImport, self).__init__(*args, **kwargs)
|
||||
|
||||
def test_song_import(self):
|
||||
|
@ -69,7 +69,7 @@ class TestOpenSongImport(TestCase):
|
|||
Test creating an instance of the OpenSong file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.opensongimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.opensong.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
@ -83,7 +83,7 @@ class TestOpenSongImport(TestCase):
|
|||
Test OpenSongImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.opensongimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.opensong.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = OpenSongImport(mocked_manager, filenames=[])
|
||||
|
@ -104,7 +104,7 @@ class TestOpenSongImport(TestCase):
|
|||
Test OpenSongImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.opensongimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.opensong.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = OpenSongImport(mocked_manager, filenames=[])
|
||||
|
|
|
@ -43,7 +43,7 @@ class TestProPresenterFileImport(SongImportTestHelper):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.importer_class_name = 'ProPresenterImport'
|
||||
self.importer_module_name = 'propresenterimport'
|
||||
self.importer_module_name = 'propresenter'
|
||||
super(TestProPresenterFileImport, self).__init__(*args, **kwargs)
|
||||
|
||||
def test_song_import(self):
|
||||
|
|
|
@ -34,7 +34,7 @@ import os
|
|||
from unittest import TestCase
|
||||
|
||||
from tests.functional import MagicMock, patch
|
||||
from openlp.plugins.songs.lib.songbeamerimport import SongBeamerImport
|
||||
from openlp.plugins.songs.lib.importers.songbeamer import SongBeamerImport
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__),
|
||||
|
@ -64,7 +64,7 @@ class TestSongBeamerImport(TestCase):
|
|||
Test creating an instance of the SongBeamer file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songbeamer.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
@ -78,7 +78,7 @@ class TestSongBeamerImport(TestCase):
|
|||
Test SongBeamerImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songbeamer.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = SongBeamerImport(mocked_manager, filenames=[])
|
||||
|
@ -99,7 +99,7 @@ class TestSongBeamerImport(TestCase):
|
|||
Test SongBeamerImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songbeamer.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = SongBeamerImport(mocked_manager, filenames=[])
|
||||
|
@ -122,7 +122,7 @@ class TestSongBeamerImport(TestCase):
|
|||
|
||||
# GIVEN: Test files with a mocked out SongImport class, a mocked out "manager", a mocked out "import_wizard",
|
||||
# and mocked out "author", "add_copyright", "add_verse", "finish" methods.
|
||||
with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songbeamer.SongImport'):
|
||||
for song_file in SONG_TEST_DATA:
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
|
|
|
@ -35,7 +35,7 @@ from unittest import TestCase
|
|||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.songshowplusimport import SongShowPlusImport
|
||||
from openlp.plugins.songs.lib.importers.songshowplus import SongShowPlusImport
|
||||
from tests.functional import patch, MagicMock
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
|
@ -46,7 +46,7 @@ class TestSongShowPlusFileImport(SongImportTestHelper):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.importer_class_name = 'SongShowPlusImport'
|
||||
self.importer_module_name = 'songshowplusimport'
|
||||
self.importer_module_name = 'songshowplus'
|
||||
super(TestSongShowPlusFileImport, self).__init__(*args, **kwargs)
|
||||
|
||||
def test_song_import(self):
|
||||
|
@ -70,7 +70,7 @@ class TestSongShowPlusImport(TestCase):
|
|||
Test creating an instance of the SongShow Plus file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songshowplusimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songshowplus.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
@ -84,7 +84,7 @@ class TestSongShowPlusImport(TestCase):
|
|||
Test SongShowPlusImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songshowplusimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songshowplus.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = SongShowPlusImport(mocked_manager, filenames=[])
|
||||
|
@ -105,7 +105,7 @@ class TestSongShowPlusImport(TestCase):
|
|||
Test SongShowPlusImport.do_import handles different invalid import_source values
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songshowplusimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songshowplus.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = SongShowPlusImport(mocked_manager, filenames=[])
|
||||
|
@ -126,7 +126,7 @@ class TestSongShowPlusImport(TestCase):
|
|||
Test to_openlp_verse_tag method by simulating adding a verse
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songshowplusimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songshowplus.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
importer = SongShowPlusImport(mocked_manager, filenames=[])
|
||||
|
||||
|
@ -154,7 +154,7 @@ class TestSongShowPlusImport(TestCase):
|
|||
Test to_openlp_verse_tag method by simulating adding a verse to the verse order
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.songshowplusimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.songshowplus.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
importer = SongShowPlusImport(mocked_manager, filenames=[])
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class TestWorshipAssistantFileImport(SongImportTestHelper):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.importer_class_name = 'WorshipAssistantImport'
|
||||
self.importer_module_name = 'worshipassistantimport'
|
||||
self.importer_module_name = 'worshipassistant'
|
||||
super(TestWorshipAssistantFileImport, self).__init__(*args, **kwargs)
|
||||
|
||||
def test_song_import(self):
|
||||
|
|
|
@ -37,7 +37,7 @@ if os.name != 'nt':
|
|||
|
||||
import pyodbc
|
||||
|
||||
from openlp.plugins.songs.lib.worshipcenterproimport import WorshipCenterProImport
|
||||
from openlp.plugins.songs.lib.importers.worshipcenterpro import WorshipCenterProImport
|
||||
from tests.functional import patch, MagicMock
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ class TestWorshipCenterProSongImport(TestCase):
|
|||
Test creating an instance of the WorshipCenter Pro file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.worshipcenterproimport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.worshipcenterpro.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
@ -156,9 +156,10 @@ class TestWorshipCenterProSongImport(TestCase):
|
|||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out pyodbc module, a mocked out translate method,
|
||||
# a mocked "manager" and a mocked out log_error method.
|
||||
with patch('openlp.plugins.songs.lib.worshipcenterproimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.worshipcenterproimport.pyodbc.connect') as mocked_pyodbc_connect, \
|
||||
patch('openlp.plugins.songs.lib.worshipcenterproimport.translate') as mocked_translate:
|
||||
with patch('openlp.plugins.songs.lib.importers.worshipcenterpro.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.pyodbc.connect') \
|
||||
as mocked_pyodbc_connect, \
|
||||
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.translate') as mocked_translate:
|
||||
mocked_manager = MagicMock()
|
||||
mocked_log_error = MagicMock()
|
||||
mocked_translate.return_value = 'Translated Text'
|
||||
|
@ -185,9 +186,9 @@ class TestWorshipCenterProSongImport(TestCase):
|
|||
"""
|
||||
# GIVEN: A mocked out SongImport class, a mocked out pyodbc module with a simulated recordset, a mocked out
|
||||
# translate method, a mocked "manager", add_verse method & mocked_finish method.
|
||||
with patch('openlp.plugins.songs.lib.worshipcenterproimport.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.worshipcenterproimport.pyodbc') as mocked_pyodbc, \
|
||||
patch('openlp.plugins.songs.lib.worshipcenterproimport.translate') as mocked_translate:
|
||||
with patch('openlp.plugins.songs.lib.importers.worshipcenterpro.SongImport'), \
|
||||
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.pyodbc') as mocked_pyodbc, \
|
||||
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.translate') as mocked_translate:
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
mocked_add_verse = MagicMock()
|
||||
|
|
|
@ -33,8 +33,8 @@ This module contains tests for the ZionWorx song importer.
|
|||
from unittest import TestCase
|
||||
|
||||
from tests.functional import MagicMock, patch
|
||||
from openlp.plugins.songs.lib.zionworximport import ZionWorxImport
|
||||
from openlp.plugins.songs.lib.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.zionworx import ZionWorxImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
|
||||
|
||||
class TestZionWorxImport(TestCase):
|
||||
|
@ -46,7 +46,7 @@ class TestZionWorxImport(TestCase):
|
|||
Test creating an instance of the ZionWorx file importer
|
||||
"""
|
||||
# GIVEN: A mocked out SongImport class, and a mocked out "manager"
|
||||
with patch('openlp.plugins.songs.lib.zionworximport.SongImport'):
|
||||
with patch('openlp.plugins.songs.lib.importers.zionworx.SongImport'):
|
||||
mocked_manager = MagicMock()
|
||||
|
||||
# WHEN: An importer object is created
|
||||
|
|
|
@ -42,23 +42,24 @@ class SongImportTestHelper(TestCase):
|
|||
"""
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SongImportTestHelper, self).__init__(*args, **kwargs)
|
||||
self.importer_module = __import__(
|
||||
'openlp.plugins.songs.lib.%s' % self.importer_module_name, fromlist=[self.importer_class_name])
|
||||
self.importer_module = __import__('openlp.plugins.songs.lib.importers.%s' %
|
||||
self.importer_module_name, fromlist=[self.importer_class_name])
|
||||
self.importer_class = getattr(self.importer_module, self.importer_class_name)
|
||||
|
||||
def setUp(self):
|
||||
"""
|
||||
Patch and set up the mocks required.
|
||||
"""
|
||||
self.add_copyright_patcher = patch(
|
||||
'openlp.plugins.songs.lib.%s.%s.add_copyright' % (self.importer_module_name, self.importer_class_name))
|
||||
self.add_verse_patcher = patch(
|
||||
'openlp.plugins.songs.lib.%s.%s.add_verse' % (self.importer_module_name, self.importer_class_name))
|
||||
self.finish_patcher = patch(
|
||||
'openlp.plugins.songs.lib.%s.%s.finish' % (self.importer_module_name, self.importer_class_name))
|
||||
self.add_author_patcher = patch(
|
||||
'openlp.plugins.songs.lib.%s.%s.add_author' % (self.importer_module_name, self.importer_class_name))
|
||||
self.song_import_patcher = patch('openlp.plugins.songs.lib.%s.SongImport' % self.importer_module_name)
|
||||
self.add_copyright_patcher = patch('openlp.plugins.songs.lib.importers.%s.%s.add_copyright' %
|
||||
(self.importer_module_name, self.importer_class_name))
|
||||
self.add_verse_patcher = patch('openlp.plugins.songs.lib.importers.%s.%s.add_verse' %
|
||||
(self.importer_module_name, self.importer_class_name))
|
||||
self.finish_patcher = patch('openlp.plugins.songs.lib.importers.%s.%s.finish' %
|
||||
(self.importer_module_name, self.importer_class_name))
|
||||
self.add_author_patcher = patch('openlp.plugins.songs.lib.importers.%s.%s.add_author' %
|
||||
(self.importer_module_name, self.importer_class_name))
|
||||
self.song_import_patcher = patch('openlp.plugins.songs.lib.importers.%s.SongImport' %
|
||||
self.importer_module_name)
|
||||
self.mocked_add_copyright = self.add_copyright_patcher.start()
|
||||
self.mocked_add_verse = self.add_verse_patcher.start()
|
||||
self.mocked_finish = self.finish_patcher.start()
|
||||
|
|
Loading…
Reference in New Issue