Use "is None" instead of "== None"

The latter hits the __eq__ method and can fail because we now
do not allow comparing objects of different types.

For example, was failing subsetting Andika-R.ttf.
This commit is contained in:
Behdad Esfahbod 2013-12-04 16:31:44 -05:00
parent 78c02b6af3
commit 9e6ef94b55
12 changed files with 45 additions and 45 deletions

View File

@ -482,7 +482,7 @@ class FDSelect:
assert False, "unsupported FDSelect format: %s" % format
else:
# reading from XML. Make empty gidArray,, and leave format as passed in.
# format == None will result in the smallest representation being used.
# format is None will result in the smallest representation being used.
self.format = format
self.gidArray = []
@ -514,9 +514,9 @@ class CharStrings(object):
self.charStringsAreIndexed = 0
self.globalSubrs = globalSubrs
self.private = private
if fdSelect != None:
if fdSelect is not None:
self.fdSelect = fdSelect
if fdArray!= None:
if fdArray is not None:
self.fdArray = fdArray
def keys(self):

View File

@ -100,7 +100,7 @@ def remap(self, class_map):
@_add_method(otTables.SingleSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
if self.Format in [1, 2]:
s.glyphs.update(v for g,v in self.mapping.items() if g in cur_glyphs)
else:
@ -117,7 +117,7 @@ def subset_glyphs(self, s):
@_add_method(otTables.MultipleSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
if self.Format == 1:
indices = self.Coverage.intersect(cur_glyphs)
_set_update(s.glyphs, *(self.Sequence[i].Substitute for i in indices))
@ -141,7 +141,7 @@ def subset_glyphs(self, s):
@_add_method(otTables.AlternateSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
if self.Format == 1:
_set_update(s.glyphs, *(vlist for g,vlist in self.alternates.items()
if g in cur_glyphs))
@ -161,7 +161,7 @@ def subset_glyphs(self, s):
@_add_method(otTables.LigatureSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
if self.Format == 1:
_set_update(s.glyphs, *([seq.LigGlyph for seq in seqs
if all(c in s.glyphs for c in seq.Component)]
@ -186,7 +186,7 @@ def subset_glyphs(self, s):
@_add_method(otTables.ReverseChainSingleSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
if self.Format == 1:
indices = self.Coverage.intersect(cur_glyphs)
if(not indices or
@ -573,7 +573,7 @@ def __classify_context(self):
@_add_method(otTables.ContextSubst,
otTables.ChainContextSubst)
def closure_glyphs(self, s, cur_glyphs=None):
if cur_glyphs == None: cur_glyphs = s.glyphs
if cur_glyphs is None: cur_glyphs = s.glyphs
c = self.__classify_context()
indices = c.Coverage(self).intersect(s.glyphs)
@ -692,7 +692,7 @@ def subset_glyphs(self, s):
# Delete, but not renumber, unreachable rulesets.
indices = getattr(self, c.ClassDef).intersect(self.Coverage.glyphs)
rss = [rss if i in indices else None for i,rss in enumerate(rss)]
while rss and rss[-1] == None:
while rss and rss[-1] is None:
del rss[-1]
for rs in rss:
@ -1797,7 +1797,7 @@ class Options(object):
v = a[i+1:]
k = k.replace('-', '_')
if not hasattr(self, k):
if ignore_unknown == True or k in ignore_unknown:
if ignore_unknown is True or k in ignore_unknown:
ret.append(orig_a)
continue
else:

View File

@ -571,7 +571,7 @@ class TTFont(object):
glyphID = int(glyphName[5:])
except (NameError, ValueError):
glyphID = None
if glyphID == None:
if glyphID is None:
glyphID = self.last_vid -1
self.last_vid = glyphID
self.reverseVIDDict[glyphName] = glyphID

View File

@ -189,7 +189,7 @@ class SFNTWriter(object):
self.totalSfntSize += (entry.origLength + 3) & ~3
data = self.flavorData if self.flavorData else WOFFFlavorData()
if data.majorVersion != None and data.minorVersion != None:
if data.majorVersion is not None and data.minorVersion is not None:
self.majorVersion = data.majorVersion
self.minorVersion = data.minorVersion
else:

View File

@ -172,7 +172,7 @@ class table_E_B_D_T_(DefaultTable.DefaultTable):
# format allows the strike index value to be out of order.
if strikeIndex >= len(self.strikeData):
self.strikeData += [None] * (strikeIndex + 1 - len(self.strikeData))
assert self.strikeData[strikeIndex] == None, "Duplicate strike EBDT indices."
assert self.strikeData[strikeIndex] is None, "Duplicate strike EBDT indices."
self.strikeData[strikeIndex] = bitmapGlyphDict
class EbdtComponent(object):
@ -492,7 +492,7 @@ class BitAlignedBitmapMixin(object):
return (bitOffset, bitOffset+rowBits)
def getRow(self, row, bitDepth=1, metrics=None, reverseBytes=False):
if metrics == None:
if metrics is None:
metrics = self.metrics
assert 0 <= row and row < metrics.height, "Illegal row access in bitmap"
@ -541,7 +541,7 @@ class BitAlignedBitmapMixin(object):
return data
def setRows(self, dataRows, bitDepth=1, metrics=None, reverseBytes=False):
if metrics == None:
if metrics is None:
metrics = self.metrics
if not reverseBytes:
dataRows = list(map(_reverseBytes, dataRows))
@ -580,7 +580,7 @@ class ByteAlignedBitmapMixin(object):
return (byteOffset, byteOffset+rowBytes)
def getRow(self, row, bitDepth=1, metrics=None, reverseBytes=False):
if metrics == None:
if metrics is None:
metrics = self.metrics
assert 0 <= row and row < metrics.height, "Illegal row access in bitmap"
byteRange = self._getByteRange(row, bitDepth, metrics)
@ -590,7 +590,7 @@ class ByteAlignedBitmapMixin(object):
return data
def setRows(self, dataRows, bitDepth=1, metrics=None, reverseBytes=False):
if metrics == None:
if metrics is None:
metrics = self.metrics
if reverseBytes:
dataRows = map(_reverseBytes, dataRows)

View File

@ -219,7 +219,7 @@ class table_E_B_L_C_(DefaultTable.DefaultTable):
# allows for the strike index value to be out of order.
if strikeIndex >= len(self.strikes):
self.strikes += [None] * (strikeIndex + 1 - len(self.strikes))
assert self.strikes[strikeIndex] == None, "Duplicate strike EBLC indices."
assert self.strikes[strikeIndex] is None, "Duplicate strike EBLC indices."
self.strikes[strikeIndex] = curStrike
class Strike(object):

View File

@ -61,7 +61,7 @@ class GMAPRecord(object):
def compile(self, ttFont):
if self.UV == None:
if self.UV is None:
self.UV = 0
nameLen = len(self.name)
if nameLen < 32:

View File

@ -202,7 +202,7 @@ class table_S_V_G_(DefaultTable.DefaultTable):
svgDocData = bytesjoin(entryList)
# get colorpalette info.
if self.colorPalettes == None:
if self.colorPalettes is None:
offsetToColorPalettes = 0
palettesData = ""
else:
@ -258,7 +258,7 @@ class table_S_V_G_(DefaultTable.DefaultTable):
writer.endtag("svgDoc")
writer.newline()
if (self.colorPalettes != None) and (self.colorPalettes.numColorParams != None):
if (self.colorPalettes is not None) and (self.colorPalettes.numColorParams is not None):
writer.begintag("colorPalettes")
writer.newline()
for uiNameID in self.colorPalettes.colorParamUINameIDs:

View File

@ -108,7 +108,7 @@ class CmapSubtable(object):
# allow lazy decompilation of subtables.
if attr[:2] == '__': # don't handle requests for member functions like '__lt__'
raise AttributeError(attr)
if self.data == None:
if self.data is None:
raise AttributeError(attr)
self.decompile(None, None) # use saved data.
self.data = None # Once this table has been decompiled, make sure we don't
@ -172,10 +172,10 @@ class cmap_format_0(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data # decompileHeader assigns the data after the header to self.data
assert 262 == self.length, "Format 0 cmap subtable not 262 bytes"
glyphIdArray = array.array("B")
@ -259,10 +259,10 @@ class cmap_format_2(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data # decompileHeader assigns the data after the header to self.data
subHeaderKeys = []
@ -628,10 +628,10 @@ class cmap_format_4(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(self.data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data # decompileHeader assigns the data after the header to self.data
(segCountX2, searchRange, entrySelector, rangeShift) = \
@ -832,10 +832,10 @@ class cmap_format_6(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data # decompileHeader assigns the data after the header to self.data
firstCode, entryCount = struct.unpack(">HH", data[:4])
@ -918,10 +918,10 @@ class cmap_format_12_or_13(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data # decompileHeader assigns the data after the header to self.data
charCodes = []
@ -1084,10 +1084,10 @@ class cmap_format_14(CmapSubtable):
self.language = 0xFF # has no language.
def decompile(self, data, ttFont):
if data != None and ttFont != None and ttFont.lazy:
if data is not None and ttFont is not None and ttFont.lazy:
self.decompileHeader(data, ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
data = self.data
self.cmap = {} # so that clients that expect this to exist in a cmap table won't fail.
@ -1145,9 +1145,9 @@ class cmap_format_14(CmapSubtable):
uvsList = sorted(uvsDict.keys())
for uvs in uvsList:
uvList = uvsDict[uvs]
uvList.sort(key=lambda item: (item[1] != None, item[0], item[1]))
uvList.sort(key=lambda item: (item[1] is not None, item[0], item[1]))
for uv, gname in uvList:
if gname == None:
if gname is None:
gname = "None"
# I use the arg rather than th keyword syntax in order to preserve the attribute order.
writer.simpletag("map", [ ("uvs",hex(uvs)), ("uv",hex(uv)), ("name", gname)] )
@ -1196,7 +1196,7 @@ class cmap_format_14(CmapSubtable):
for uvs in uvsList:
entryList = uvsDict[uvs]
defList = [entry for entry in entryList if entry[1] == None]
defList = [entry for entry in entryList if entry[1] is None]
if defList:
defList = [entry[0] for entry in defList]
defOVSOffset = offset
@ -1223,7 +1223,7 @@ class cmap_format_14(CmapSubtable):
else:
defOVSOffset = 0
ndefList = [entry for entry in entryList if entry[1] != None]
ndefList = [entry for entry in entryList if entry[1] is not None]
if ndefList:
nonDefUVSOffset = offset
ndefList.sort()
@ -1273,10 +1273,10 @@ class cmap_format_unknown(CmapSubtable):
def decompile(self, data, ttFont):
# we usually get here indirectly from the subtable __getattr__ function, in which case both args must be None.
# If not, someone is calling the subtable decompile() directly, and must provide both args.
if data != None and ttFont != None:
if data is not None and ttFont is not None:
self.decompileHeader(data[offset:offset+int(length)], ttFont)
else:
assert (data == None and ttFont == None), "Need both data and ttFont arguments"
assert (data is None and ttFont is None), "Need both data and ttFont arguments"
def compile(self, ttFont):
if self.data:

View File

@ -373,7 +373,7 @@ class OTTableWriter(object):
continue
if appendExtensions:
assert extTables != None, "Program or XML editing error. Extension subtables cannot contain extensions subtables"
assert extTables is not None, "Program or XML editing error. Extension subtables cannot contain extensions subtables"
newDone = {}
item._gatherTables(extTables, None, newDone)

View File

@ -494,14 +494,14 @@ def fixLookupOverFlows(ttf, overflowRecord):
SubTable[0] and contents
...
SubTable[n] and contents
If the offset to a lookup overflowed (SubTableIndex == None)
If the offset to a lookup overflowed (SubTableIndex is None)
we must promote the *previous* lookup to an Extension type.
If the offset from a lookup to subtable overflowed, then we must promote it
to an Extension Lookup type.
"""
ok = 0
lookupIndex = overflowRecord.LookupListIndex
if (overflowRecord.SubTableIndex == None):
if (overflowRecord.SubTableIndex is None):
lookupIndex = lookupIndex - 1
if lookupIndex < 0:
return ok

View File

@ -227,7 +227,7 @@ def ttCompile(input, output, options):
lastItem = overflowRecord
while True:
ok = 0
if overflowRecord.itemName == None:
if overflowRecord.itemName is None:
ok = fixLookupOverFlows(ttf, overflowRecord)
else:
ok = fixSubTableOverFlows(ttf, overflowRecord)