From 7aa7e5c6351d80d8623c639d8a8a6af51f6cee06 Mon Sep 17 00:00:00 2001 From: Phill Date: Sat, 4 May 2019 12:49:20 +0100 Subject: [PATCH] Move some changes out of annother branch --- openlp/core/common/__init__.py | 6 +++--- openlp/core/lib/mediamanageritem.py | 10 +++++----- openlp/plugins/presentations/lib/mediaitem.py | 18 ++++++++---------- .../openlp_core/ui/test_thememanager.py | 4 ++-- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/openlp/core/common/__init__.py b/openlp/core/common/__init__.py index fd251be14..c7bc25b29 100644 --- a/openlp/core/common/__init__.py +++ b/openlp/core/common/__init__.py @@ -463,8 +463,8 @@ def get_file_encoding(file_path): Utility function to incrementally detect the file encoding. :param openlp.core.common.path.Path file_path: Filename for the file to determine the encoding for. - :return: A dict with the keys 'encoding' and 'confidence' - :rtype: dict[str, float] + :return: The name of the encoding detected + :rtype: str """ detector = UniversalDetector() try: @@ -477,7 +477,7 @@ def get_file_encoding(file_path): except OSError: log.exception('Error detecting file encoding') finally: - return detector.close() + return detector.close()['encoding'] def normalize_str(irregular_string): diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 50f8497ab..0511eeb16 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -333,7 +333,7 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): self.validate_and_load(file_paths) self.application.set_normal_cursor() - def load_file(self, data): + def handle_mime_data(self, data): """ Turn file from Drag and Drop into an array so the Validate code can run it. @@ -379,11 +379,11 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): duplicates_found = False files_added = False for file_path in file_paths: - if path_to_str(file_path) in full_list: + if file_path in full_list: duplicates_found = True else: files_added = True - full_list.append(path_to_str(file_path)) + full_list.append(file_path) if full_list and files_added: if target_group is None: self.list_view.clear() @@ -416,8 +416,8 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): file_paths = [] for index in range(self.list_view.count()): list_item = self.list_view.item(index) - filename = list_item.data(QtCore.Qt.UserRole) - file_paths.append(str_to_path(filename)) + file_path = list_item.data(QtCore.Qt.UserRole) + file_paths.append(file_path) return file_paths def load_list(self, load_list, target_group): diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index b11140489..dda2a485c 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -24,7 +24,7 @@ import logging from PyQt5 import QtCore, QtWidgets from openlp.core.common.i18n import UiStrings, get_natural_key, translate -from openlp.core.common.path import path_to_str, str_to_path +from openlp.core.common.path import path_to_str from openlp.core.common.registry import Registry from openlp.core.common.settings import Settings from openlp.core.lib import ServiceItemContext, build_icon, check_item_selected, create_thumb, validate_thumb @@ -127,7 +127,7 @@ class PresentationMediaItem(MediaManagerItem): """ self.list_view.setIconSize(QtCore.QSize(88, 50)) file_paths = Settings().value(self.settings_section + '/presentations files') - self.load_list([path_to_str(path) for path in file_paths], initial_load=True) + self.load_list(file_paths, initial_load=True) self.populate_display_types() def populate_display_types(self): @@ -158,7 +158,6 @@ class PresentationMediaItem(MediaManagerItem): :param list[openlp.core.common.path.Path] file_paths: List of file paths to add to the media manager. """ - file_paths = [str_to_path(filename) for filename in file_paths] current_paths = self.get_file_list() titles = [file_path.name for file_path in current_paths] self.application.set_busy_cursor() @@ -175,7 +174,7 @@ class PresentationMediaItem(MediaManagerItem): if not file_path.exists(): item_name = QtWidgets.QListWidgetItem(file_name) item_name.setIcon(UiIcons().delete) - item_name.setData(QtCore.Qt.UserRole, path_to_str(file_path)) + item_name.setData(QtCore.Qt.UserRole, file_path) item_name.setToolTip(str(file_path)) self.list_view.addItem(item_name) else: @@ -211,7 +210,7 @@ class PresentationMediaItem(MediaManagerItem): 'This type of presentation is not supported.')) continue item_name = QtWidgets.QListWidgetItem(file_name) - item_name.setData(QtCore.Qt.UserRole, path_to_str(file_path)) + item_name.setData(QtCore.Qt.UserRole, file_path) item_name.setIcon(icon) item_name.setToolTip(str(file_path)) self.list_view.addItem(item_name) @@ -230,8 +229,7 @@ class PresentationMediaItem(MediaManagerItem): self.application.set_busy_cursor() self.main_window.display_progress_bar(len(row_list)) for item in items: - file_path = str_to_path(item.data(QtCore.Qt.UserRole)) - self.clean_up_thumbnails(file_path) + self.clean_up_thumbnails(item.data(QtCore.Qt.UserRole)) self.main_window.increment_progress_bar() self.main_window.finished_progress_bar() for row in row_list: @@ -278,7 +276,7 @@ class PresentationMediaItem(MediaManagerItem): if len(items) > 1: return False if file_path is None: - file_path = str_to_path(items[0].data(QtCore.Qt.UserRole)) + file_path = items[0].data(QtCore.Qt.UserRole) file_type = file_path.suffix.lower()[1:] if not self.display_type_combo_box.currentText(): return False @@ -293,7 +291,7 @@ class PresentationMediaItem(MediaManagerItem): service_item.theme = -1 for bitem in items: if file_path is None: - file_path = str_to_path(bitem.data(QtCore.Qt.UserRole)) + file_path = bitem.data(QtCore.Qt.UserRole) path, file_name = file_path.parent, file_path.name service_item.title = file_name if file_path.exists(): @@ -329,7 +327,7 @@ class PresentationMediaItem(MediaManagerItem): service_item.processor = self.display_type_combo_box.currentText() service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) for bitem in items: - file_path = str_to_path(bitem.data(QtCore.Qt.UserRole)) + file_path = bitem.data(QtCore.Qt.UserRole) path, file_name = file_path.parent, file_path.name service_item.title = file_name if file_path.exists(): diff --git a/tests/functional/openlp_core/ui/test_thememanager.py b/tests/functional/openlp_core/ui/test_thememanager.py index 757ff3faf..e4a2e7988 100644 --- a/tests/functional/openlp_core/ui/test_thememanager.py +++ b/tests/functional/openlp_core/ui/test_thememanager.py @@ -143,7 +143,7 @@ class TestThemeManager(TestCase): mocked_theme.export_theme.return_value = "{}" # WHEN: Calling _write_theme with a theme with a name with special characters in it - theme_manager._write_theme(mocked_theme, None, None) + theme_manager._write_theme(mocked_theme) # THEN: It should have been created assert os.path.exists(os.path.join(self.temp_folder, 'theme 愛 name', 'theme 愛 name.json')) is True, \ @@ -224,7 +224,7 @@ class TestThemeManager(TestCase): theme_manager = ThemeManager(None) # WHEN: unzip_theme is called - theme_manager.unzip_theme('theme.file', 'folder') + theme_manager.unzip_theme(Path('theme.file'), Path('folder')) # THEN: The critical_error_message_box should have been called assert mocked_critical_error_message_box.call_count == 1, 'Should have been called once'