comparison roundup/cgi/TAL/TALGenerator.py @ 5377:12fe83f90f0d

Python 3 preparation: use repr() instead of ``. Tool-generated patch.
author Joseph Myers <jsm@polyomino.org.uk>
date Tue, 24 Jul 2018 21:36:02 +0000
parents 198b6e810c67
children 0942fe89e82e
comparison
equal deleted inserted replaced
5376:64b05e24dbd8 5377:12fe83f90f0d
205 205
206 def compileExpression(self, expr): 206 def compileExpression(self, expr):
207 try: 207 try:
208 return self.expressionCompiler.compile(expr) 208 return self.expressionCompiler.compile(expr)
209 except self.CompilerError as err: 209 except self.CompilerError as err:
210 raise TALError('%s in expression %s' % (err.args[0], `expr`), 210 raise TALError('%s in expression %s' % (err.args[0], repr(expr)),
211 self.position) 211 self.position)
212 212
213 def pushProgram(self): 213 def pushProgram(self):
214 self.stack.append(self.program) 214 self.stack.append(self.program)
215 self.program = [] 215 self.program = []
266 def emitDefines(self, defines): 266 def emitDefines(self, defines):
267 for part in TALDefs.splitParts(defines): 267 for part in TALDefs.splitParts(defines):
268 m = re.match( 268 m = re.match(
269 r"(?s)\s*(?:(global|local)\s+)?(%s)\s+(.*)\Z" % NAME_RE, part) 269 r"(?s)\s*(?:(global|local)\s+)?(%s)\s+(.*)\Z" % NAME_RE, part)
270 if not m: 270 if not m:
271 raise TALError("invalid define syntax: " + `part`, 271 raise TALError("invalid define syntax: " + repr(part),
272 self.position) 272 self.position)
273 scope, name, expr = m.group(1, 2, 3) 273 scope, name, expr = m.group(1, 2, 3)
274 scope = scope or "local" 274 scope = scope or "local"
275 cexpr = self.compileExpression(expr) 275 cexpr = self.compileExpression(expr)
276 if scope == "local": 276 if scope == "local":
300 self.emit("condition", cexpr, program) 300 self.emit("condition", cexpr, program)
301 301
302 def emitRepeat(self, arg): 302 def emitRepeat(self, arg):
303 m = re.match("(?s)\s*(%s)\s+(.*)\Z" % NAME_RE, arg) 303 m = re.match("(?s)\s*(%s)\s+(.*)\Z" % NAME_RE, arg)
304 if not m: 304 if not m:
305 raise TALError("invalid repeat syntax: " + `arg`, 305 raise TALError("invalid repeat syntax: " + repr(arg),
306 self.position) 306 self.position)
307 name, expr = m.group(1, 2) 307 name, expr = m.group(1, 2)
308 cexpr = self.compileExpression(expr) 308 cexpr = self.compileExpression(expr)
309 program = self.popProgram() 309 program = self.popProgram()
310 self.emit("loop", name, cexpr, program) 310 self.emit("loop", name, cexpr, program)
368 368
369 def emitDefineMacro(self, macroName): 369 def emitDefineMacro(self, macroName):
370 program = self.popProgram() 370 program = self.popProgram()
371 macroName = macroName.strip() 371 macroName = macroName.strip()
372 if self.macros.has_key(macroName): 372 if self.macros.has_key(macroName):
373 raise METALError("duplicate macro definition: %s" % `macroName`, 373 raise METALError("duplicate macro definition: %s" % repr(macroName),
374 self.position) 374 self.position)
375 if not re.match('%s$' % NAME_RE, macroName): 375 if not re.match('%s$' % NAME_RE, macroName):
376 raise METALError("invalid macro name: %s" % `macroName`, 376 raise METALError("invalid macro name: %s" % repr(macroName),
377 self.position) 377 self.position)
378 self.macros[macroName] = program 378 self.macros[macroName] = program
379 self.inMacroDef = self.inMacroDef - 1 379 self.inMacroDef = self.inMacroDef - 1
380 self.emit("defineMacro", macroName, program) 380 self.emit("defineMacro", macroName, program)
381 381
387 387
388 def emitDefineSlot(self, slotName): 388 def emitDefineSlot(self, slotName):
389 program = self.popProgram() 389 program = self.popProgram()
390 slotName = slotName.strip() 390 slotName = slotName.strip()
391 if not re.match('%s$' % NAME_RE, slotName): 391 if not re.match('%s$' % NAME_RE, slotName):
392 raise METALError("invalid slot name: %s" % `slotName`, 392 raise METALError("invalid slot name: %s" % repr(slotName),
393 self.position) 393 self.position)
394 self.emit("defineSlot", slotName, program) 394 self.emit("defineSlot", slotName, program)
395 395
396 def emitFillSlot(self, slotName): 396 def emitFillSlot(self, slotName):
397 program = self.popProgram() 397 program = self.popProgram()
398 slotName = slotName.strip() 398 slotName = slotName.strip()
399 if self.slots.has_key(slotName): 399 if self.slots.has_key(slotName):
400 raise METALError("duplicate fill-slot name: %s" % `slotName`, 400 raise METALError("duplicate fill-slot name: %s" % repr(slotName),
401 self.position) 401 self.position)
402 if not re.match('%s$' % NAME_RE, slotName): 402 if not re.match('%s$' % NAME_RE, slotName):
403 raise METALError("invalid slot name: %s" % `slotName`, 403 raise METALError("invalid slot name: %s" % repr(slotName),
404 self.position) 404 self.position)
405 self.slots[slotName] = program 405 self.slots[slotName] = program
406 self.inMacroUse = 1 406 self.inMacroUse = 1
407 self.emit("fillSlot", slotName, program) 407 self.emit("fillSlot", slotName, program)
408 408
485 return 485 return
486 486
487 self.position = position 487 self.position = position
488 for key, value in taldict.items(): 488 for key, value in taldict.items():
489 if key not in TALDefs.KNOWN_TAL_ATTRIBUTES: 489 if key not in TALDefs.KNOWN_TAL_ATTRIBUTES:
490 raise TALError("bad TAL attribute: " + `key`, position) 490 raise TALError("bad TAL attribute: " + repr(key), position)
491 if not (value or key == 'omit-tag'): 491 if not (value or key == 'omit-tag'):
492 raise TALError("missing value for TAL attribute: " + 492 raise TALError("missing value for TAL attribute: " +
493 `key`, position) 493 repr(key), position)
494 for key, value in metaldict.items(): 494 for key, value in metaldict.items():
495 if key not in TALDefs.KNOWN_METAL_ATTRIBUTES: 495 if key not in TALDefs.KNOWN_METAL_ATTRIBUTES:
496 raise METALError("bad METAL attribute: " + `key`, 496 raise METALError("bad METAL attribute: " + repr(key),
497 position) 497 position)
498 if not value: 498 if not value:
499 raise TALError("missing value for METAL attribute: " + 499 raise TALError("missing value for METAL attribute: " +
500 `key`, position) 500 repr(key), position)
501 for key, value in i18ndict.items(): 501 for key, value in i18ndict.items():
502 if key not in TALDefs.KNOWN_I18N_ATTRIBUTES: 502 if key not in TALDefs.KNOWN_I18N_ATTRIBUTES:
503 raise I18NError("bad i18n attribute: " + `key`, position) 503 raise I18NError("bad i18n attribute: " + repr(key), position)
504 if not value and key in ("attributes", "data", "id"): 504 if not value and key in ("attributes", "data", "id"):
505 raise I18NError("missing value for i18n attribute: " + 505 raise I18NError("missing value for i18n attribute: " +
506 `key`, position) 506 repr(key), position)
507 todo = {} 507 todo = {}
508 defineMacro = metaldict.get("define-macro") 508 defineMacro = metaldict.get("define-macro")
509 useMacro = metaldict.get("use-macro") 509 useMacro = metaldict.get("use-macro")
510 defineSlot = metaldict.get("define-slot") 510 defineSlot = metaldict.get("define-slot")
511 fillSlot = metaldict.get("fill-slot") 511 fillSlot = metaldict.get("fill-slot")

Roundup Issue Tracker: http://roundup-tracker.org/