Use iter_tagging_scripts_from_*()

This commit is contained in:
Laurent Monin
2024-05-26 16:11:32 +02:00
parent e801f83da4
commit fe88e79665
3 changed files with 10 additions and 6 deletions

View File

@@ -142,7 +142,7 @@ def enabled_tagger_scripts_texts():
config = get_config()
if not config.setting['enable_tagger_scripts']:
return []
return [(s_name, s_text) for _s_pos, s_name, s_enabled, s_text in config.setting['list_of_scripts'] if s_enabled and s_text]
return [(s.name, s.content) for s in iter_tagging_scripts_from_config(config=config) if s.enabled and s.content]
def get_file_naming_script(settings):

View File

@@ -44,7 +44,10 @@ from picard.i18n import (
gettext_constants,
)
from picard.profile import profile_groups_values
from picard.script import get_file_naming_script_presets
from picard.script import (
get_file_naming_script_presets,
iter_tagging_scripts_from_tuples,
)
from picard.util import get_base_title
from picard.ui.forms.ui_options_profiles import Ui_ProfileEditorDialog
@@ -249,7 +252,7 @@ class ProfilesOptionsPage(OptionsPage):
return _("Unknown script")
def _get_scripts_list(self, scripts):
enabled_scripts = ['<li>%s</li>' % name for (pos, name, enabled, script) in scripts if enabled]
enabled_scripts = ['<li>%s</li>' % s.name for s in iter_tagging_scripts_from_tuples(scripts) if s.enabled]
if not enabled_scripts:
return _("No enabled scripts")
return _("Enabled scripts:") + '<ul>' + "".join(enabled_scripts) + '</ul>'

View File

@@ -57,6 +57,7 @@ from picard.script import (
ScriptParser,
get_file_naming_script,
get_file_naming_script_presets,
iter_tagging_scripts_from_tuples,
)
from picard.script.serializer import (
FileNamingScript,
@@ -162,10 +163,10 @@ class ScriptEditorExamples():
try:
# Only apply scripts if the original file metadata has not been changed.
if self.settings['enable_tagger_scripts'] and not c_metadata.diff(file.orig_metadata):
for s_pos, s_name, s_enabled, s_text in self.settings['list_of_scripts']:
if s_enabled and s_text:
for s in iter_tagging_scripts_from_tuples(self.settings['list_of_scripts']):
if s.enabled and s.content:
parser = ScriptParser()
parser.eval(s_text, c_metadata)
parser.eval(s.content, c_metadata)
filename_before = file.filename
filename_after = file.make_filename(filename_before, c_metadata, self.settings, self.script_text)
if not self.settings['move_files']: