Skip to content

Commit 8bd6b01

Browse files
committed
Add editing flag to ScriptParser
1 parent c87540e commit 8bd6b01

File tree

7 files changed

+8
-7
lines changed

7 files changed

+8
-7
lines changed

picard/script/parser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,9 @@ class ScriptParser:
210210

211211
_cache = {}
212212

213-
def __init__(self):
213+
def __init__(self, editing=False):
214214
self._function_stack = LifoQueue()
215+
self.editing = editing
215216

216217
def __raise_eof(self):
217218
raise ScriptEndOfFile(StackItem(line=self._y, column=self._x))

picard/ui/options/renaming.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ def check(self):
263263
raise OptionsCheckError(_("Error"), _("The location to move files to must not be empty."))
264264

265265
def check_format(self):
266-
parser = ScriptParser()
266+
parser = ScriptParser(editing=True)
267267
try:
268268
parser.eval(self.script_text)
269269
except Exception as e:

picard/ui/options/scripting.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ def reset_selected_item(self):
272272
widget.setCurrentRow(widget.bad_row)
273273

274274
def check(self):
275-
parser = ScriptParser()
275+
parser = ScriptParser(editing=True)
276276
try:
277277
parser.eval(self.ui.tagger_script.toPlainText())
278278
except Exception as e:

picard/ui/scripteditor/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ def check_formats(self):
959959
def check_format(self):
960960
"""Parse the file naming script and check for errors."""
961961
config = get_config()
962-
parser = ScriptParser()
962+
parser = ScriptParser(editing=True)
963963
script_text = self.get_script()
964964
try:
965965
parser.eval(script_text)

picard/ui/scripteditor/examples.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def _example_to_filename(self, file):
112112
if self.settings['enable_tagger_scripts'] and not c_metadata.diff(file.orig_metadata):
113113
for s in iter_tagging_scripts_from_tuples(self.settings['list_of_scripts']):
114114
if s.enabled and s.content:
115-
parser = ScriptParser()
115+
parser = ScriptParser(editing=True)
116116
parser.eval(s.content, c_metadata)
117117
filename_before = file.filename
118118
filename_after = file.make_filename(filename_before, c_metadata, self.settings, self.script_text)

picard/ui/widgets/scripttextedit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ def __init__(
203203
# Initialize internal state before constructing QCompleter to avoid
204204
# accessing properties that depend on initialized attributes.
205205
self.last_selected = ''
206-
self._parser = parser or ScriptParser()
206+
self._parser = parser or ScriptParser(editing=True)
207207
self._variable_extractor = variable_extractor or VariableExtractor(self._parser)
208208
self._context_detector = context_detector or ContextDetector()
209209
self._user_script_scanner = user_script_scanner or UserScriptScanner(self._variable_extractor)

picard/util/scripttofilename.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def script_to_filename_with_metadata(naming_format, metadata, file=None, setting
6464
sanitize_filename(str(v), repl=replace_dir_separator, win_compat=win_compat) for v in metadata.getall(name)
6565
]
6666
naming_format = naming_format.replace('\t', '').replace('\n', '')
67-
filename = ScriptParser().eval(naming_format, new_metadata, file)
67+
filename = ScriptParser(editing=True).eval(naming_format, new_metadata, file)
6868
if settings['ascii_filenames']:
6969
filename = replace_non_ascii(filename, pathsave=True, win_compat=win_compat)
7070
# replace incompatible characters

0 commit comments

Comments
 (0)