Deprecate and ignore newlinestr

This commit is contained in:
Khaled Hosny 2021-07-30 04:27:02 +02:00
parent 000bf81700
commit 5af178ac8e
5 changed files with 11 additions and 10 deletions

View File

@ -4,6 +4,7 @@ from fontTools.misc.py23 import byteord, strjoin, tobytes, tostr
import sys
import os
import string
import warnings
INDENT = " "
@ -37,10 +38,12 @@ class XMLWriter(object):
self.file.write('')
self.totype = tostr
self.indentwhite = self.totype(indentwhite)
if newlinestr is None:
self.newlinestr = self.totype(os.linesep)
else:
self.newlinestr = self.totype(newlinestr)
if newlinestr != "\n":
warnings.warn(
'Setting "newlinestr" is deprecated and will be ignored.',
DeprecationWarning,
)
self.newlinestr = self.totype("\n")
self.indentlevel = 0
self.stack = []
self.needindent = 1

View File

@ -159,8 +159,7 @@ class table__g_l_y_f(DefaultTable.DefaultTable):
suffix=ext)
existingGlyphFiles.add(glyphPath.lower())
glyphWriter = xmlWriter.XMLWriter(
glyphPath, idlefunc=writer.idlefunc,
newlinestr=writer.newlinestr)
glyphPath, idlefunc=writer.idlefunc)
glyphWriter.begintag("ttFont", ttLibVersion=version)
glyphWriter.newline()
glyphWriter.begintag("glyf")

View File

@ -271,8 +271,7 @@ class TTFont(object):
tag = tables[i]
if splitTables:
tablePath = fileNameTemplate % tagToIdentifier(tag)
tableWriter = xmlWriter.XMLWriter(tablePath,
newlinestr=writer.newlinestr)
tableWriter = xmlWriter.XMLWriter(tablePath)
tableWriter.begintag("ttFont", ttLibVersion=version)
tableWriter.newline()
tableWriter.newline()

View File

@ -115,7 +115,7 @@ class TestXMLWriter(unittest.TestCase):
writer.write("world")
writer.newline()
linesep = tobytes(os.linesep) if nls is None else tobytes(nls)
linesep = tobytes('\n')
self.assertEqual(
header + linesep + b"hello" + linesep + b"world" + linesep,

View File

@ -354,7 +354,7 @@ class NameRecordTest(unittest.TestCase):
writer = XMLWriter(BytesIO())
name.toXML(writer, ttFont=None)
xml = writer.file.getvalue().decode("utf_8").strip()
return xml.split(writer.newlinestr.decode("utf_8"))[1:]
return xml.split("\n")[1:]
def test_toXML_utf16be(self):
name = makeName("Foo Bold", 111, 0, 2, 7)