Commit 7fb19409 authored by Jacek Sowiński's avatar Jacek Sowiński

Substitute only if it makes sense

parent 64ac9adb
...@@ -193,30 +193,32 @@ class PrettyPrinterFormatFilter(PrettyPrinterFilter): ...@@ -193,30 +193,32 @@ class PrettyPrinterFormatFilter(PrettyPrinterFilter):
r'(?P<after>{{.+?}})?' r'(?P<after>{{.+?}})?'
r'(?P<whitespace>\s)*' r'(?P<whitespace>\s)*'
r'(?P<end>.*)').format(placeholder) r'(?P<end>.*)').format(placeholder)
if repl == '': match = re.match(pattern, p_todo_str)
p_todo_str = re.sub(pattern, match.group('start') + match.group('end'), p_todo_str) if match:
else: if repl == '':
def strip_braces(p_matchobj): p_todo_str = re.sub(pattern, match.group('start') + match.group('end'), p_todo_str)
try: else:
before = p_matchobj.group('before').strip('{}') def strip_braces(p_matchobj):
except AttributeError: try:
before = '' before = p_matchobj.group('before').strip('{}')
except AttributeError:
placeholder = p_matchobj.group('placeholder') before = ''
try: placeholder = p_matchobj.group('placeholder')
after = p_matchobj.group('after').strip('{}')
except AttributeError: try:
after = '' after = p_matchobj.group('after').strip('{}')
except AttributeError:
whitespace = p_matchobj.group('whitespace') or '' after = ''
start = p_matchobj.group('start') or ''
end = p_matchobj.group('end') or '' whitespace = p_matchobj.group('whitespace') or ''
start = p_matchobj.group('start') or ''
return start + before + '%' + placeholder + after + whitespace + end end = p_matchobj.group('end') or ''
p_todo_str = re.sub(pattern, strip_braces, p_todo_str) return start + before + '%' + placeholder + after + whitespace + end
p_todo_str = re.sub(r'%{}'.format(placeholder), repl, p_todo_str)
p_todo_str = re.sub(pattern, strip_braces, p_todo_str)
p_todo_str = re.sub(r'%{}'.format(placeholder), repl, p_todo_str)
return p_todo_str.rstrip() return p_todo_str.rstrip()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment