def encode_number(self, n): if isinstance(n, float): global nan, inf, neginf if n is nan: return 'NaN' elif n is inf: return 'Infinity' elif n is neginf: return '-Infinity' return nicefloat().str(n) else: return JSON.encode_number(self, n)