From df60977d0b389c8556b747d03f195651e8c7b71a Mon Sep 17 00:00:00 2001 From: suhas2go Date: Mon, 26 Dec 2016 23:14:46 +0530 Subject: [PATCH] improve readability while iterating scripts --- picard/album.py | 30 ++++++++++++++---------------- picard/track.py | 19 +++++++++---------- picard/ui/options/renaming.py | 7 +++---- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/picard/album.py b/picard/album.py index 9c0cb813a..ee0e02210 100644 --- a/picard/album.py +++ b/picard/album.py @@ -262,25 +262,23 @@ class Album(DataObject, Item): if not self._requests: # Prepare parser for user's script if config.setting["enable_tagger_scripts"]: - for item in config.setting["list_of_scripts"]: - if item[2]: - script = item[3] - if script: - parser = ScriptParser() - for track in self._new_tracks: - # Run tagger script for each track - try: - parser.eval(script, track.metadata) - except: - self.error_append(traceback.format_exc()) - # Strip leading/trailing whitespace - track.metadata.strip_whitespace() - # Run tagger script for the album itself + for s_pos, s_name, s_enabled, s_text in config.setting["list_of_scripts"]: + if s_enabled and s_text: + parser = ScriptParser() + for track in self._new_tracks: + # Run tagger script for each track try: - parser.eval(script, self._new_metadata) + parser.eval(s_text, track.metadata) except: self.error_append(traceback.format_exc()) - self._new_metadata.strip_whitespace() + # Strip leading/trailing whitespace + track.metadata.strip_whitespace() + # Run tagger script for the album itself + try: + parser.eval(s_text, self._new_metadata) + except: + self.error_append(traceback.format_exc()) + self._new_metadata.strip_whitespace() for track in self.tracks: for file in list(track.linked_files): diff --git a/picard/track.py b/picard/track.py index 1840d6924..8cfbb1956 100644 --- a/picard/track.py +++ b/picard/track.py @@ -276,16 +276,15 @@ class NonAlbumTrack(Track): self._customize_metadata() run_track_metadata_processors(self.album, m, None, recording) if config.setting["enable_tagger_scripts"]: - for item in config.setting["list_of_scripts"]: - if item[2]: - script = item[3] - if script: - parser = ScriptParser() - try: - parser.eval(script, m) - except: - log.error(traceback.format_exc()) - m.strip_whitespace() + for s_pos, s_name, s_enabled, s_text in config.setting["list_of_scripts"]: + if s_enabled and s_text: + parser = ScriptParser() + try: + parser.eval(s_text, m) + except: + log.error(traceback.format_exc()) + m.strip_whitespace() + self.loaded = True if self.callback: self.callback() diff --git a/picard/ui/options/renaming.py b/picard/ui/options/renaming.py index 79133ff06..47c788a2a 100644 --- a/picard/ui/options/renaming.py +++ b/picard/ui/options/renaming.py @@ -136,11 +136,10 @@ class RenamingOptionsPage(OptionsPage): } try: if config.setting["enable_tagger_scripts"]: - for item in config.setting["list_of_scripts"]: - if item[2]: - script = item[3] + for s_pos, s_name, s_enabled, s_text in config.setting["list_of_scripts"]: + if s_enabled and s_text: parser = ScriptParser() - parser.eval(script, file.metadata) + parser.eval(s_text, file.metadata) filename = file._make_filename(file.filename, file.metadata, settings) if not settings["move_files"]: return os.path.basename(filename)