Advertisement
nullzero

AddTag

Apr 9th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.93 KB | None | 0 0
  1. def matchbrace(s, i):
  2.     lv = 0
  3.     for i in xrange(i, len(s)):
  4.         if s[i] == "{": lv += 1
  5.         elif s[i] == "}": lv -= 1
  6.         if lv == 0:
  7.             return i
  8.            
  9. for irep, sp in enumerate(params["param"]):
  10.     lst = []
  11.     for i in lre.finditer(r"\{\{\{\s*" + sp + "\s*[\|\}]", text):
  12.         begin, end = i.span()
  13.         end = matchbrace(text, begin)
  14.         lst.append((begin, "begin"))
  15.         lst.append((end, "end"))
  16.     lst = sorted(lst)
  17.     lst.append((sys.maxint, sys.maxint))
  18.     ilst = 0
  19.     out = []
  20.     for i in xrange(len(text)):
  21.         if i == lst[ilst][0]:
  22.             if lst[ilst][1] == "begin":
  23.                 out.append("{{{" + params["translate"][irep] + "|")
  24.             else:
  25.                 out.append("}}}")
  26.             ilst += 1
  27.         out.append(text[i])
  28.     newtext = "".join(out)
  29.     if newtext == text:
  30.         errorlist.append(("param", irep + 1))
  31.     text = newtext
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement