mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-12-13 08:35:03 -05:00
Fix problem with f_string() calling local functions. Remove print statement.
This commit is contained in:
parent
5067e48eac
commit
a4096e6a64
@ -469,7 +469,7 @@ class _Parser:
|
|||||||
except Exception:
|
except Exception:
|
||||||
return _("'End of program'")
|
return _("'End of program'")
|
||||||
|
|
||||||
def program(self, parent, funcs, prog):
|
def program(self, parent, funcs, prog, local_functions=None):
|
||||||
self.line_number = 1
|
self.line_number = 1
|
||||||
self.lex_pos = 0
|
self.lex_pos = 0
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
@ -477,7 +477,7 @@ class _Parser:
|
|||||||
self.func_names = frozenset(set(self.funcs.keys()))
|
self.func_names = frozenset(set(self.funcs.keys()))
|
||||||
self.prog = prog[0]
|
self.prog = prog[0]
|
||||||
self.prog_len = len(self.prog)
|
self.prog_len = len(self.prog)
|
||||||
self.local_functions = set()
|
self.local_functions = local_functions if local_functions is not None else set()
|
||||||
if prog[1] != '':
|
if prog[1] != '':
|
||||||
self.error(_("Failed to scan program. Invalid input '{0}'").format(prog[1]))
|
self.error(_("Failed to scan program. Invalid input '{0}'").format(prog[1]))
|
||||||
tree = self.expression_list()
|
tree = self.expression_list()
|
||||||
@ -1404,9 +1404,9 @@ class _Interpreter:
|
|||||||
|
|
||||||
def do_node_f_string(self, prog):
|
def do_node_f_string(self, prog):
|
||||||
def repl(mo):
|
def repl(mo):
|
||||||
print(mo.group()[1:-1])
|
|
||||||
p = self.parent.gpm_parser.program(self.parent, self.funcs,
|
p = self.parent.gpm_parser.program(self.parent, self.funcs,
|
||||||
self.parent.lex_scanner.scan(mo.group()[1:-1]))
|
self.parent.lex_scanner.scan(mo.group()[1:-1]),
|
||||||
|
local_functions=self.local_functions)
|
||||||
return self.expr(p)
|
return self.expr(p)
|
||||||
return str(re.sub(r'\{.*?\}', repl, self.expr(prog.string)))
|
return str(re.sub(r'\{.*?\}', repl, self.expr(prog.string)))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user