Start to refactor code structure

bzr-revno: 2632
This commit is contained in:
Tim Bentley 2016-03-31 19:54:10 +01:00
commit cd77486e32
22 changed files with 63 additions and 82 deletions

View File

@ -36,8 +36,8 @@ import shutil
import time import time
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, OpenLPMixin, AppLocation, Settings, UiStrings, check_directory_exists, \ from openlp.core.common import Registry, OpenLPMixin, AppLocation, LanguageManager, Settings, UiStrings, \
is_macosx, is_win, translate check_directory_exists, is_macosx, is_win, translate
from openlp.core.lib import ScreenList from openlp.core.lib import ScreenList
from openlp.core.resources import qInitResources from openlp.core.resources import qInitResources
from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.mainwindow import MainWindow
@ -45,7 +45,7 @@ from openlp.core.ui.firsttimelanguageform import FirstTimeLanguageForm
from openlp.core.ui.firsttimeform import FirstTimeForm from openlp.core.ui.firsttimeform import FirstTimeForm
from openlp.core.ui.exceptionform import ExceptionForm from openlp.core.ui.exceptionform import ExceptionForm
from openlp.core.ui import SplashScreen from openlp.core.ui import SplashScreen
from openlp.core.utils import LanguageManager, VersionThread, get_application_version from openlp.core.utils import VersionThread, get_application_version
__all__ = ['OpenLP', 'main'] __all__ = ['OpenLP', 'main']

View File

@ -242,3 +242,5 @@ from .uistrings import UiStrings
from .settings import Settings from .settings import Settings
from .applocation import AppLocation from .applocation import AppLocation
from .historycombobox import HistoryComboBox from .historycombobox import HistoryComboBox
from .actions import ActionList
from .languagemanager import LanguageManager

View File

@ -27,8 +27,8 @@ import logging
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, UiStrings, translate, is_macosx from openlp.core.common import Registry, UiStrings, translate, is_macosx
from openlp.core.common.actions import ActionList
from openlp.core.lib import build_icon from openlp.core.lib import build_icon
from openlp.core.utils.actions import ActionList
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -25,7 +25,7 @@ The language selection dialog.
from PyQt5 import QtCore, QtWidgets from PyQt5 import QtCore, QtWidgets
from openlp.core.lib.ui import create_action from openlp.core.lib.ui import create_action
from openlp.core.utils import LanguageManager from openlp.core.common import LanguageManager
from .firsttimelanguagedialog import Ui_FirstTimeLanguageDialog from .firsttimelanguagedialog import Ui_FirstTimeLanguageDialog

View File

@ -24,30 +24,29 @@ This is the main window, where all the action happens.
""" """
import logging import logging
import os import os
import sys
import shutil import shutil
import sys
import time
from datetime import datetime
from distutils import dir_util from distutils import dir_util
from distutils.errors import DistutilsFileError from distutils.errors import DistutilsFileError
from tempfile import gettempdir from tempfile import gettempdir
import time
from datetime import datetime
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, check_directory_exists, translate, \ from openlp.core.common import Registry, RegistryProperties, AppLocation, LanguageManager, Settings, \
is_win, is_macosx check_directory_exists, translate, is_win, is_macosx
from openlp.core.common.actions import ActionList, CategoryOrder
from openlp.core.lib import Renderer, OpenLPDockWidget, PluginManager, ImageManager, PluginStatus, ScreenList, \ from openlp.core.lib import Renderer, OpenLPDockWidget, PluginManager, ImageManager, PluginStatus, ScreenList, \
build_icon build_icon
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, ThemeManager, LiveController, PluginForm, \ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, ThemeManager, LiveController, PluginForm, \
MediaDockManager, ShortcutListForm, FormattingTagForm, PreviewController MediaDockManager, ShortcutListForm, FormattingTagForm, PreviewController
from openlp.core.ui.media import MediaController
from openlp.core.utils import LanguageManager, add_actions, get_application_version
from openlp.core.utils.actions import ActionList, CategoryOrder
from openlp.core.ui.firsttimeform import FirstTimeForm from openlp.core.ui.firsttimeform import FirstTimeForm
from openlp.core.ui.projector.manager import ProjectorManager from openlp.core.ui.media import MediaController
from openlp.core.ui.printserviceform import PrintServiceForm from openlp.core.ui.printserviceform import PrintServiceForm
from openlp.core.ui.projector.manager import ProjectorManager
from openlp.core.utils import get_application_version, add_actions
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -23,23 +23,22 @@
The service manager sets up, loads, saves and manages services. The service manager sets up, loads, saves and manages services.
""" """
import html import html
import json
import os import os
import shutil import shutil
import zipfile import zipfile
import json
from tempfile import mkstemp
from datetime import datetime, timedelta from datetime import datetime, timedelta
from tempfile import mkstemp
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, ThemeLevel, OpenLPMixin, \ from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, ThemeLevel, OpenLPMixin, \
RegistryMixin, check_directory_exists, UiStrings, translate RegistryMixin, check_directory_exists, UiStrings, translate
from openlp.core.common.actions import ActionList, CategoryOrder
from openlp.core.lib import OpenLPToolbar, ServiceItem, ItemCapabilities, PluginStatus, build_icon from openlp.core.lib import OpenLPToolbar, ServiceItem, ItemCapabilities, PluginStatus, build_icon
from openlp.core.lib.ui import critical_error_message_box, create_widget_action, find_and_set_in_combo_box from openlp.core.lib.ui import critical_error_message_box, create_widget_action, find_and_set_in_combo_box
from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm, StartTimeForm from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm, StartTimeForm
from openlp.core.ui.printserviceform import PrintServiceForm
from openlp.core.utils import delete_file, split_filename, format_time from openlp.core.utils import delete_file, split_filename, format_time
from openlp.core.utils.actions import ActionList, CategoryOrder
class ServiceManagerList(QtWidgets.QTreeWidget): class ServiceManagerList(QtWidgets.QTreeWidget):

View File

@ -27,7 +27,7 @@ import re
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import RegistryProperties, Settings, translate from openlp.core.common import RegistryProperties, Settings, translate
from openlp.core.utils.actions import ActionList from openlp.core.common.actions import ActionList
from .shortcutlistdialog import Ui_ShortcutListDialog from .shortcutlistdialog import Ui_ShortcutListDialog
REMOVE_AMPERSAND = re.compile(r'&{1}') REMOVE_AMPERSAND = re.compile(r'&{1}')

View File

@ -23,20 +23,20 @@
The :mod:`slidecontroller` module contains the most important part of OpenLP - the slide controller The :mod:`slidecontroller` module contains the most important part of OpenLP - the slide controller
""" """
import os
import copy import copy
import os
from collections import deque from collections import deque
from threading import Lock from threading import Lock
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, RegistryProperties, Settings, SlideLimits, UiStrings, translate, \ from openlp.core.common import Registry, RegistryProperties, Settings, SlideLimits, UiStrings, translate, \
RegistryMixin, OpenLPMixin, is_win RegistryMixin, OpenLPMixin
from openlp.core.common.actions import ActionList, CategoryOrder
from openlp.core.lib import OpenLPToolbar, ItemCapabilities, ServiceItem, ImageSource, ServiceItemAction, \ from openlp.core.lib import OpenLPToolbar, ItemCapabilities, ServiceItem, ImageSource, ServiceItemAction, \
ScreenList, build_icon, build_html ScreenList, build_icon, build_html
from openlp.core.ui import HideMode, MainDisplay, Display, DisplayControllerType
from openlp.core.lib.ui import create_action from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList, CategoryOrder from openlp.core.ui import HideMode, MainDisplay, Display, DisplayControllerType
from openlp.core.ui.listpreviewwidget import ListPreviewWidget from openlp.core.ui.listpreviewwidget import ListPreviewWidget
# Threshold which has to be trespassed to toggle. # Threshold which has to be trespassed to toggle.

View File

@ -22,29 +22,28 @@
""" """
The :mod:`openlp.core.utils` module provides the utility libraries for OpenLP. The :mod:`openlp.core.utils` module provides the utility libraries for OpenLP.
""" """
from datetime import datetime
from distutils.version import LooseVersion
from http.client import HTTPException
import logging
import locale import locale
import logging
import os import os
import platform import platform
import re import re
import socket import socket
import time
from shutil import which
from subprocess import Popen, PIPE
import sys import sys
import urllib.request import time
import urllib.error import urllib.error
import urllib.parse import urllib.parse
import urllib.request
from datetime import datetime
from distutils.version import LooseVersion
from http.client import HTTPException
from random import randint from random import randint
from shutil import which
from subprocess import Popen, PIPE
from PyQt5 import QtGui, QtCore from PyQt5 import QtGui, QtCore
from openlp.core.common import Registry, AppLocation, Settings, is_win, is_macosx from openlp.core.common import Registry, AppLocation, Settings, is_win, is_macosx
if not is_win() and not is_macosx(): if not is_win() and not is_macosx():
try: try:
from xdg import BaseDirectory from xdg import BaseDirectory
@ -511,7 +510,7 @@ def get_locale_key(string):
try: try:
if ICU_COLLATOR is None: if ICU_COLLATOR is None:
import icu import icu
from .languagemanager import LanguageManager from openlp.core.common.languagemanager import LanguageManager
language = LanguageManager.get_language() language = LanguageManager.get_language()
icu_locale = icu.Locale(language) icu_locale = icu.Locale(language)
ICU_COLLATOR = icu.Collator.createInstance(icu_locale) ICU_COLLATOR = icu.Collator.createInstance(icu_locale)
@ -523,21 +522,18 @@ def get_locale_key(string):
def get_natural_key(string): def get_natural_key(string):
""" """
Generate a key for locale aware natural string sorting. Generate a key for locale aware natural string sorting.
:param string: string to be sorted by
Returns a list of string compare keys and integers. Returns a list of string compare keys and integers.
""" """
key = DIGITS_OR_NONDIGITS.findall(string) key = DIGITS_OR_NONDIGITS.findall(string)
key = [int(part) if part.isdigit() else get_locale_key(part) for part in key] key = [int(part) if part.isdigit() else get_locale_key(part) for part in key]
# Python 3 does not support comparison of different types anymore. So make sure, that we do not compare str # Python 3 does not support comparison of different types anymore. So make sure, that we do not compare str
# and int. # and int.
if string[0].isdigit(): if string and string[0].isdigit():
return [b''] + key return [b''] + key
return key return key
__all__ = ['get_application_version', 'check_latest_version',
from .languagemanager import LanguageManager
from .actions import ActionList
__all__ = ['ActionList', 'LanguageManager', 'get_application_version', 'check_latest_version',
'add_actions', 'get_filesystem_encoding', 'get_web_page', 'get_uno_command', 'get_uno_instance', 'add_actions', 'get_filesystem_encoding', 'get_web_page', 'get_uno_command', 'get_uno_instance',
'delete_file', 'clean_filename', 'format_time', 'get_locale_key', 'get_natural_key'] 'delete_file', 'clean_filename', 'format_time', 'get_locale_key', 'get_natural_key']

View File

@ -24,17 +24,16 @@ import logging
from PyQt5 import QtGui from PyQt5 import QtGui
from openlp.core.common import Settings, translate from openlp.core.common import Settings, translate
from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon from openlp.core.lib import Plugin, StringContent, build_icon
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.lib.theme import VerticalType from openlp.core.lib.theme import VerticalType
from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.ui import AlertLocation from openlp.core.ui import AlertLocation
from openlp.core.utils.actions import ActionList from openlp.plugins.alerts.forms import AlertForm
from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib import AlertsManager, AlertsTab
from openlp.plugins.alerts.lib.db import init_schema from openlp.plugins.alerts.lib.db import init_schema
from openlp.plugins.alerts.forms import AlertForm
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -24,13 +24,13 @@ import logging
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib import Plugin, StringContent, build_icon, translate
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.utils.actions import ActionList from openlp.plugins.bibles.forms import BibleUpgradeForm
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \ from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \
LanguageSelection LanguageSelection
from openlp.plugins.bibles.lib.mediaitem import BibleSearch from openlp.plugins.bibles.lib.mediaitem import BibleSearch
from openlp.plugins.bibles.forms import BibleUpgradeForm
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -28,8 +28,8 @@ import logging
from sqlalchemy import Table, Column, ForeignKey, types from sqlalchemy import Table, Column, ForeignKey, types
from sqlalchemy.sql.expression import func, false, null, text from sqlalchemy.sql.expression import func, false, null, text
from openlp.core.common.db import drop_columns
from openlp.core.lib.db import get_upgrade_op from openlp.core.lib.db import get_upgrade_op
from openlp.core.utils.db import drop_columns
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
__version__ = 5 __version__ = 5

View File

@ -26,27 +26,26 @@ for the Songs plugin.
import logging import logging
import os import os
from tempfile import gettempdir
import sqlite3 import sqlite3
from tempfile import gettempdir
from PyQt5 import QtCore, QtWidgets from PyQt5 import QtCore, QtWidgets
from openlp.core.common import UiStrings, Registry, translate from openlp.core.common import UiStrings, Registry, translate
from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon from openlp.core.lib import Plugin, StringContent, build_icon
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList
from openlp.plugins.songs.forms.duplicatesongremovalform import DuplicateSongRemovalForm from openlp.plugins.songs.forms.duplicatesongremovalform import DuplicateSongRemovalForm
from openlp.plugins.songs.forms.songselectform import SongSelectForm from openlp.plugins.songs.forms.songselectform import SongSelectForm
from openlp.plugins.songs.lib import clean_song, upgrade from openlp.plugins.songs.lib import clean_song, upgrade
from openlp.plugins.songs.lib.db import init_schema, Song 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.importer import SongFormat
from openlp.plugins.songs.lib.importers.openlp import OpenLPSongImport from openlp.plugins.songs.lib.importers.openlp import OpenLPSongImport
from openlp.plugins.songs.lib.mediaitem import SongMediaItem from openlp.plugins.songs.lib.mediaitem import SongMediaItem
from openlp.plugins.songs.lib.mediaitem import SongSearch
from openlp.plugins.songs.lib.songstab import SongsTab from openlp.plugins.songs.lib.songstab import SongsTab
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
__default_settings__ = { __default_settings__ = {
'songs/db type': 'sqlite', 'songs/db type': 'sqlite',

View File

@ -26,10 +26,10 @@ from datetime import datetime
from PyQt5 import QtCore, QtWidgets from PyQt5 import QtCore, QtWidgets
from openlp.core.common import Registry, Settings, translate from openlp.core.common import Registry, Settings, translate
from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon from openlp.core.lib import Plugin, StringContent, build_icon
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList
from openlp.plugins.songusage.forms import SongUsageDetailForm, SongUsageDeleteForm from openlp.plugins.songusage.forms import SongUsageDetailForm, SongUsageDeleteForm
from openlp.plugins.songusage.lib import upgrade from openlp.plugins.songusage.lib import upgrade
from openlp.plugins.songusage.lib.db import init_schema, SongUsageItem from openlp.plugins.songusage.lib.db import init_schema, SongUsageItem

View File

View File

@ -37,7 +37,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = [] sys.argv[1:] = []
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertFalse(args.dev_version, 'The dev_version flag should be False') self.assertFalse(args.dev_version, 'The dev_version flag should be False')
self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning') self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning')
@ -54,7 +54,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = ['-l debug'] sys.argv[1:] = ['-l debug']
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertFalse(args.dev_version, 'The dev_version flag should be False') self.assertFalse(args.dev_version, 'The dev_version flag should be False')
self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug') self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug')
@ -71,7 +71,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = ['--portable'] sys.argv[1:] = ['--portable']
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertFalse(args.dev_version, 'The dev_version flag should be False') self.assertFalse(args.dev_version, 'The dev_version flag should be False')
self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning') self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning')
@ -88,7 +88,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = ['-l debug', '-d'] sys.argv[1:] = ['-l debug', '-d']
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertTrue(args.dev_version, 'The dev_version flag should be True') self.assertTrue(args.dev_version, 'The dev_version flag should be True')
self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug') self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug')
@ -105,7 +105,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = ['dummy_temp'] sys.argv[1:] = ['dummy_temp']
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertFalse(args.dev_version, 'The dev_version flag should be False') self.assertFalse(args.dev_version, 'The dev_version flag should be False')
self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning') self.assertEquals(args.loglevel, 'warning', 'The log level should be set to warning')
@ -122,7 +122,7 @@ class TestInitFunctions(TestMixin, TestCase):
# GIVEN: a a set of system arguments. # GIVEN: a a set of system arguments.
sys.argv[1:] = ['-l debug', 'dummy_temp'] sys.argv[1:] = ['-l debug', 'dummy_temp']
# WHEN: We we parse them to expand to options # WHEN: We we parse them to expand to options
args = parse_options() args = parse_options(None)
# THEN: the following fields will have been extracted. # THEN: the following fields will have been extracted.
self.assertFalse(args.dev_version, 'The dev_version flag should be False') self.assertFalse(args.dev_version, 'The dev_version flag should be False')
self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug') self.assertEquals(args.loglevel, ' debug', 'The log level should be set to debug')
@ -130,15 +130,3 @@ class TestInitFunctions(TestMixin, TestCase):
self.assertFalse(args.portable, 'The portable flag should be set to false') self.assertFalse(args.portable, 'The portable flag should be set to false')
self.assertEquals(args.style, None, 'There are no style flags to be processed') self.assertEquals(args.style, None, 'There are no style flags to be processed')
self.assertEquals(args.rargs, 'dummy_temp', 'The service file should not be blank') self.assertEquals(args.rargs, 'dummy_temp', 'The service file should not be blank')
def parse_options_two_files_test(self):
"""
Test the parse options process works with a file
"""
# GIVEN: a a set of system arguments.
sys.argv[1:] = ['dummy_temp', 'dummy_temp2']
# WHEN: We we parse them to expand to options
args = parse_options()
# THEN: the following fields will have been extracted.
self.assertEquals(args, None, 'The args should be None')

View File

@ -20,15 +20,14 @@
# Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Temple Place, Suite 330, Boston, MA 02111-1307 USA #
############################################################################### ###############################################################################
""" """
Package to test the openlp.core.utils.actions package. Package to test the openlp.core.common.actions package.
""" """
from unittest import TestCase from unittest import TestCase
from PyQt5 import QtGui, QtCore, QtWidgets from PyQt5 import QtGui, QtCore, QtWidgets
from openlp.core.common import Settings from openlp.core.common import Settings
from openlp.core.utils import ActionList from openlp.core.common.actions import CategoryActionList, ActionList
from openlp.core.utils.actions import CategoryActionList
from tests.functional import MagicMock from tests.functional import MagicMock
from tests.helpers.testmixin import TestMixin from tests.helpers.testmixin import TestMixin

View File

@ -20,19 +20,19 @@
# Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Temple Place, Suite 330, Boston, MA 02111-1307 USA #
############################################################################### ###############################################################################
""" """
Package to test the openlp.core.utils.db package. Package to test the openlp.core.common.db package.
""" """
from tempfile import mkdtemp
from unittest import TestCase
import gc import gc
import os import os
import shutil import shutil
import sqlalchemy
import time import time
from tempfile import mkdtemp
from unittest import TestCase
from openlp.core.utils.db import drop_column, drop_columns import sqlalchemy
from openlp.core.common.db import drop_column, drop_columns
from openlp.core.lib.db import init_db, get_upgrade_op from openlp.core.lib.db import init_db, get_upgrade_op
from tests.utils.constants import TEST_RESOURCES_PATH from tests.utils.constants import TEST_RESOURCES_PATH

View File

@ -241,7 +241,7 @@ class TestUtils(TestCase):
""" """
Test the get_locale_key(string) function Test the get_locale_key(string) function
""" """
with patch('openlp.core.utils.languagemanager.LanguageManager.get_language') as mocked_get_language: with patch('openlp.core.common.languagemanager.LanguageManager.get_language') as mocked_get_language:
# GIVEN: The language is German # GIVEN: The language is German
# 0x00C3 (A with diaresis) should be sorted as "A". 0x00DF (sharp s) should be sorted as "ss". # 0x00C3 (A with diaresis) should be sorted as "A". 0x00DF (sharp s) should be sorted as "ss".
mocked_get_language.return_value = 'de' mocked_get_language.return_value = 'de'
@ -258,7 +258,7 @@ class TestUtils(TestCase):
""" """
Test the get_natural_key(string) function Test the get_natural_key(string) function
""" """
with patch('openlp.core.utils.languagemanager.LanguageManager.get_language') as mocked_get_language: with patch('openlp.core.common.languagemanager.LanguageManager.get_language') as mocked_get_language:
# GIVEN: The language is English (a language, which sorts digits before letters) # GIVEN: The language is English (a language, which sorts digits before letters)
mocked_get_language.return_value = 'en' mocked_get_language.return_value = 'en'
unsorted_list = ['item 10a', 'item 3b', '1st item'] unsorted_list = ['item 10a', 'item 3b', '1st item']