Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_bool_opt_set_direct_str_true(self):
BoolOption("setting", "bool_option", False)
#Â store 'true' directly, it should be ok, due to conversion
self.config.setValue('setting/bool_option', 'true')
self.assertEqual(self.config.setting["bool_option"], True)
def test_bool_opt_no_config(self):
BoolOption("setting", "bool_option", True)
# test default, nothing in config yet
self.assertEqual(self.config.setting["bool_option"], True)
self.assertIs(type(self.config.setting["bool_option"]), bool)
OptionsPage,
register_options_page,
)
from picard.ui.ui_options_cover import Ui_CoverOptionsPage
class CoverOptionsPage(OptionsPage):
NAME = "cover"
TITLE = N_("Cover Art")
PARENT = None
SORT_ORDER = 35
ACTIVE = True
options = [
config.BoolOption("setting", "save_images_to_tags", True),
config.BoolOption("setting", "embed_only_one_front_image", True),
config.BoolOption("setting", "save_images_to_files", False),
config.TextOption("setting", "cover_image_filename", "cover"),
config.BoolOption("setting", "save_images_overwrite", False),
config.ListOption("setting", "ca_providers", [
('Cover Art Archive', True),
('Amazon', True),
('Whitelist', True),
('CaaReleaseGroup', False),
('Local', False),
]),
]
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_CoverOptionsPage()
ui_init.register(function.__module__, function)
class MainWindow(QtWidgets.QMainWindow, PreserveGeometry):
defaultsize = QtCore.QSize(780, 560)
autorestore = False
selection_updated = QtCore.pyqtSignal(object)
options = [
config.Option("persist", "window_state", QtCore.QByteArray()),
config.Option("persist", "bottom_splitter_state", QtCore.QByteArray()),
config.BoolOption("persist", "window_maximized", False),
config.BoolOption("persist", "view_cover_art", True),
config.BoolOption("persist", "view_toolbar", True),
config.BoolOption("persist", "view_file_browser", False),
config.TextOption("persist", "current_directory", ""),
config.FloatOption("persist", "mediaplayer_playback_rate", 1.0),
config.IntOption("persist", "mediaplayer_volume", 50),
]
def __init__(self, parent=None):
super().__init__(parent)
self.selected_objects = []
self.ignore_selection_changes = False
self.toolbar = None
self.player = None
self.status_indicators = []
player = Player(self)
if player.available:
self.player = player
self.player.error.connect(self._on_player_error)
_default_music_dir = QStandardPaths.writableLocation(QStandardPaths.MusicLocation)
class RenamingOptionsPage(OptionsPage):
NAME = "filerenaming"
TITLE = N_("File Naming")
PARENT = None
SORT_ORDER = 40
ACTIVE = True
options = [
config.BoolOption("setting", "windows_compatibility", True),
config.BoolOption("setting", "ascii_filenames", False),
config.BoolOption("setting", "rename_files", False),
config.TextOption(
"setting",
"file_naming_format",
DEFAULT_FILE_NAMING_FORMAT,
),
config.BoolOption("setting", "move_files", False),
config.TextOption("setting", "move_files_to", _default_music_dir),
config.BoolOption("setting", "move_additional_files", False),
config.TextOption("setting", "move_additional_files_pattern", "*.jpg *.png"),
config.BoolOption("setting", "delete_empty_dirs", True),
]
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_RenamingOptionsPage()
self.ui.setupUi(self)
def upgrade_to_v2_1_0_dev_1(config):
"""Upgrade genre related options"""
_s = config.setting
if "folksonomy_tags" in _s and _s["folksonomy_tags"]:
_s["use_genres"] = True
rename_option(config, "max_tags", "max_genres", IntOption, 5)
rename_option(config, "min_tag_usage", "min_genre_usage", IntOption, 90)
rename_option(config, "ignore_tags", "ignore_genres", TextOption, "")
rename_option(config, "join_tags", "join_genres", TextOption, "")
rename_option(config, "only_my_tags", "only_my_genres", BoolOption, False)
rename_option(config, "artists_tags", "artists_genres", BoolOption, False)
ACTIVE = True
options = [
config.BoolOption("setting", "windows_compatibility", True),
config.BoolOption("setting", "ascii_filenames", False),
config.BoolOption("setting", "rename_files", False),
config.TextOption(
"setting",
"file_naming_format",
DEFAULT_FILE_NAMING_FORMAT,
),
config.BoolOption("setting", "move_files", False),
config.TextOption("setting", "move_files_to", _default_music_dir),
config.BoolOption("setting", "move_additional_files", False),
config.TextOption("setting", "move_additional_files_pattern", "*.jpg *.png"),
config.BoolOption("setting", "delete_empty_dirs", True),
]
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_RenamingOptionsPage()
self.ui.setupUi(self)
self.ui.ascii_filenames.clicked.connect(self.update_examples)
self.ui.windows_compatibility.clicked.connect(self.update_examples)
self.ui.rename_files.clicked.connect(self.update_examples)
self.ui.move_files.clicked.connect(self.update_examples)
self.ui.move_files_to.editingFinished.connect(self.update_examples)
self.ui.move_files.toggled.connect(
partial(
enabledSlot,
from picard.ui.ui_options_general import Ui_GeneralOptionsPage
class GeneralOptionsPage(OptionsPage):
NAME = "general"
TITLE = N_("General")
PARENT = None
SORT_ORDER = 1
ACTIVE = True
options = [
config.TextOption("setting", "server_host", MUSICBRAINZ_SERVERS[0]),
config.IntOption("setting", "server_port", 443),
config.TextOption("persist", "oauth_refresh_token", ""),
config.BoolOption("setting", "analyze_new_files", False),
config.BoolOption("setting", "ignore_file_mbids", False),
config.TextOption("persist", "oauth_refresh_token", ""),
config.TextOption("persist", "oauth_refresh_token_scopes", ""),
config.TextOption("persist", "oauth_access_token", ""),
config.IntOption("persist", "oauth_access_token_expires", 0),
config.TextOption("persist", "oauth_username", ""),
config.BoolOption("setting", "check_for_updates", True),
config.IntOption("setting", "update_check_days", 7),
config.IntOption("setting", "update_level", 0),
config.IntOption("persist", "last_update_check", 0),
]
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_GeneralOptionsPage()
self.ui.setupUi(self)
class GenresOptionsPage(OptionsPage):
NAME = "genres"
TITLE = N_("Genres")
PARENT = "metadata"
SORT_ORDER = 20
ACTIVE = True
options = [
config.BoolOption("setting", "use_genres", False),
config.IntOption("setting", "max_genres", 5),
config.IntOption("setting", "min_genre_usage", 90),
config.TextOption("setting", "genres_filter", "-seen live\n-favorites\n-fixme\n-owned"),
config.TextOption("setting", "join_genres", ""),
config.BoolOption("setting", "only_my_genres", False),
config.BoolOption("setting", "artists_genres", False),
config.BoolOption("setting", "folksonomy_tags", False),
]
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_GenresOptionsPage()
self.ui.setupUi(self)
self.ui.genres_filter.setToolTip(_(TOOLTIP_GENRES_FILTER))
self.ui.genres_filter.setToolTipDuration(5000)
self.ui.genres_filter.textChanged.connect(self.update_test_genres_filter)
self.ui.test_genres_filter.setToolTip(_(TOOLTIP_TEST_GENRES_FILTER))
self.ui.test_genres_filter.setToolTipDuration(5000)
self.ui.test_genres_filter.textChanged.connect(self.update_test_genres_filter)
from PyQt5.QtCore import QStandardPaths
from picard import config
from picard.const.sys import IS_MACOS
from picard.formats import supported_formats
from picard.util import find_existing_path
_default_current_browser_path = QStandardPaths.writableLocation(QStandardPaths.HomeLocation)
class FileBrowser(QtWidgets.QTreeView):
options = [
config.TextOption("persist", "current_browser_path", _default_current_browser_path),
config.BoolOption("persist", "show_hidden_files", False),
]
def __init__(self, parent):
super().__init__(parent)
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
self.setDragEnabled(True)
self.move_files_here_action = QtWidgets.QAction(_("&Move Tagged Files Here"), self)
self.move_files_here_action.triggered.connect(self.move_files_here)
self.addAction(self.move_files_here_action)
self.toggle_hidden_action = QtWidgets.QAction(_("Show &Hidden Files"), self)
self.toggle_hidden_action.setCheckable(True)
self.toggle_hidden_action.setChecked(config.persist["show_hidden_files"])
self.toggle_hidden_action.toggled.connect(self.show_hidden)
self.addAction(self.toggle_hidden_action)
self.set_as_starting_directory_action = QtWidgets.QAction(_("&Set as starting directory"), self)
self.set_as_starting_directory_action.triggered.connect(self.set_as_starting_directory)