don't replace old-style format strings when "formatted" attribute == false

This commit is contained in:
Eric House 2015-08-04 20:58:58 -07:00
parent 68f72451cd
commit 624f78af8f

View file

@ -120,14 +120,16 @@ def printStats( doc ):
def replacePcts( doc ): def replacePcts( doc ):
pat = re.compile( '(%[sd])', re.DOTALL | re.MULTILINE ) pat = re.compile( '(%[sd])', re.DOTALL | re.MULTILINE )
for string in doc.findall('string'): for typ in ['item', 'string']:
splits = re.split( pat, string.text ) for elem in doc.findall(typ):
if 'false' == elem.get('formatted'): continue
splits = re.split( pat, elem.text )
nParts = len(splits) nParts = len(splits)
if 1 < nParts: if 1 < nParts:
for ii in range(nParts): for ii in range(nParts):
part = splits[ii] part = splits[ii]
if re.match( pat, part ): splits[ii] = longFormFor(part) if re.match( pat, part ): splits[ii] = longFormFor(part)
string.text = ''.join( splits ) elem.text = ''.join( splits )
# For each name in pairs, check if it's in doc. If not, find the last # For each name in pairs, check if it's in doc. If not, find the last
# elem before it that is in doc and insert it after. Start over each # elem before it that is in doc and insert it after. Start over each