def record_metadata_system(self, recording_requester):
"""
Record system metadata.
Parameters
----------
recording_requester: <System>
The System that would like to record its metadata.
"""
# Cannot handle PETScVector yet
from openmdao.api import PETScVector
if PETScVector and isinstance(recording_requester._outputs, PETScVector):
return # Cannot handle PETScVector yet
# collect scaling arrays
scaling_vecs = {}
for kind, odict in iteritems(recording_requester._vectors):
scaling_vecs[kind] = scaling = {}
for vecname, vec in iteritems(odict):
scaling[vecname] = vec._scaling
scaling_factors = pickle.dumps(scaling_vecs,
pickle.HIGHEST_PROTOCOL)
path = recording_requester.pathname
if not path:
path = 'root'
with self.con:
self.con.execute("INSERT INTO system_metadata(id, scaling_factors) \
VALUES(?,?)",
(path, sqlite3.Binary(scaling_factors)))
评论列表
文章目录