Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def writeJsonReportFile(exportDir, dbresults, fileName):
try:
jsonpickle.set_encoder_options('simplejson', indent=4)
jsonpickle.handlers.registry.register(datetime.datetime, DatetimeHandler)
jsonpickle.handlers.registry.register(uuid.UUID, UUIDHandler)
jsonReport = jsonpickle.encode(dbresults)
except (UnicodeError, TypeError):
jsonReport = jsonpickle.encode(convertDirtyDict2ASCII(dbresults))
try:
if not os.path.exists(exportDir + fileName):
report = codecs.open(os.path.join(exportDir, fileName), "w", "utf-8")
report.write(jsonReport)
report.close()
except (TypeError, IOError) as e:
raise Exception("Failed to generate JSON report: %s" % e)
def restore(self, data):
return uuid.UUID(hex=data['hex'])
class BitarrayJsonPickleHandler(jsonpickle.handlers.BaseHandler):
"""Handler used to process serialization of 'uuid' objects, as
they are, by default, un-deserializable with jsonpickle.
"""
def flatten(self, obj, data):
data['value01'] = obj.to01()
return data
def restore(self, data):
return bitarray.bitarray(data['value01'])
jsonpickle.handlers.registry.register(uuid.UUID, UUIDJsonPickleHandler)
jsonpickle.handlers.registry.register(bitarray.bitarray, BitarrayJsonPickleHandler)
class Serializer(object):
"""Class providing static methods for object serialization and
deserialization. The current implementation relies on
jsonpickle. As such, and for security reasons, important care
should be taken when deserializing data from untrusted source.
"""
@staticmethod
def dump(obj):
if obj is not None:
return jsonpickle.encode(obj)
else:
logging.warn("Cannot serialize None.")
return None
def writeJsonReportFile(exportDir, dbresults, fileName):
try:
jsonpickle.set_encoder_options('simplejson', indent=4)
jsonpickle.handlers.registry.register(datetime.datetime, DatetimeHandler)
jsonpickle.handlers.registry.register(uuid.UUID, UUIDHandler)
jsonReport = jsonpickle.encode(dbresults)
except (UnicodeError, TypeError):
jsonReport = jsonpickle.encode(convertDirtyDict2ASCII(dbresults))
try:
if not os.path.exists(exportDir + fileName):
report = codecs.open(os.path.join(exportDir, fileName), "w", "utf-8")
report.write(jsonReport)
report.close()
except (TypeError, IOError) as e:
raise Exception("Failed to generate JSON report: %s" % e)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
app.trainingstatus = 0
class NumpyFloatHandler(jsonpickle.handlers.BaseHandler):
"""
Automatic conversion of numpy float to python floats
Required for jsonpickle to work correctly
"""
def flatten(self, obj, data):
"""
Converts and rounds a Numpy.float* to Python float
"""
return round(obj,6)
jsonpickle.handlers.registry.register(numpy.int, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.int32, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.int64, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.float, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.float32, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.float64, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.double, NumpyFloatHandler)
try:
if not os.path.exists(dumpdir):
os.makedirs(dumpdir)
d = tempfile.mkdtemp(dir=dumpdir)
except Exception as e:
raise Exception('Could not open %s for writing (%s)', dumpdir, e)
else:
os.rmdir(d)
url_md5 = results["Info"]["url"]["md5"]
file_md5 = results["Info"]["file"]["md5"]
jfile = url_md5 + "_" + file_md5 + ".json"
try:
jsonpickle.set_encoder_options('simplejson', indent=4)
jsonpickle.handlers.registry.register(datetime.datetime, DatetimeHandler)
jsonpickle.handlers.registry.register(uuid.UUID, UUIDHandler)
jsonReport = jsonpickle.encode(results)
except (UnicodeError, TypeError):
jsonReport = jsonpickle.encode(convertDirtyDict2ASCII(results))
try:
if not os.path.exists(dumpdir + jfile):
report = codecs.open(os.path.join(dumpdir, jfile), "w", "utf-8")
report.write(jsonReport)
report.close()
except (TypeError, IOError) as e:
raise Exception("Failed to generate JSON report: %s" % e)
jsonpickle.handlers.registry.register(numpy.float, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.float32, NumpyFloatHandler)
jsonpickle.handlers.registry.register(numpy.float64, NumpyFloatHandler)
class NumpyIntHandler(jsonpickle.handlers.BaseHandler):
"""
Automatic conversion of numpy float to python floats
Required for jsonpickle to work correctly
"""
def flatten(self, obj, data):
"""
Converts and rounds a Numpy.float* to Python float
"""
return int(obj)
jsonpickle.handlers.registry.register(numpy.int8, NumpyIntHandler)
jsonpickle.handlers.registry.register(numpy.int16, NumpyIntHandler)
jsonpickle.handlers.registry.register(numpy.int32, NumpyIntHandler)
jsonpickle.handlers.registry.register(numpy.int64, NumpyIntHandler)
jsonpickle.handlers.registry.register(numpy.int_, NumpyIntHandler)
class JSONPickler(SingletonHasStrictTraits):
implements(ISerialize)
pickle_module = Module
def __init__(self):
self.pickle_module = jsonpickle
def loads(self, pickled_representation):
try:
return self.pickle_module.decode(pickled_representation)
except Exception as e: