464 pat = stringify(args[0][0](context, mapping, args[0][1])) |
464 pat = stringify(args[0][0](context, mapping, args[0][1])) |
465 rpl = stringify(args[1][0](context, mapping, args[1][1])) |
465 rpl = stringify(args[1][0](context, mapping, args[1][1])) |
466 src = stringify(_evalifliteral(args[2], context, mapping)) |
466 src = stringify(_evalifliteral(args[2], context, mapping)) |
467 yield re.sub(pat, rpl, src) |
467 yield re.sub(pat, rpl, src) |
468 |
468 |
|
469 def startswith(context, mapping, args): |
|
470 if len(args) != 2: |
|
471 raise error.ParseError(_("startswith expects two arguments")) |
|
472 |
|
473 patn = stringify(args[0][0](context, mapping, args[0][1])) |
|
474 text = stringify(args[1][0](context, mapping, args[1][1])) |
|
475 if text.startswith(patn): |
|
476 return text |
|
477 return '' |
|
478 |
|
479 |
469 methods = { |
480 methods = { |
470 "string": lambda e, c: (runstring, e[1]), |
481 "string": lambda e, c: (runstring, e[1]), |
471 "rawstring": lambda e, c: (runrawstring, e[1]), |
482 "rawstring": lambda e, c: (runrawstring, e[1]), |
472 "symbol": lambda e, c: (runsymbol, e[1]), |
483 "symbol": lambda e, c: (runsymbol, e[1]), |
473 "group": lambda e, c: compileexp(e[1], c), |
484 "group": lambda e, c: compileexp(e[1], c), |