Session.to_dict fails when there is no volume (recall from 87c4482d37a7e722656aa3c21a04784a448204d4 that we wanted to phase out volume in favor of volume_id – so apparently that transition needs to be taken to completion).
Serializing a session results in duplication of the entire transducer geometry data. So if you start with a session that defines a transducer by referencing its ID, then when you serialize that you end up with a session that defines a transducer by defining its geometry. The serialization/deserialization of Sessions needs to be cleaned up like we did for Protocols and Transducers in #85
UPDATE: There is now a new data format that changes the approach we need to take here. See #100:
In the updated example database, the session.json files now include a reference to the trasducer_id used instead of directly storing all of the transducer information. from_dict in db.session needs to be updated to parse the transducer_id key instead of looking for the transducer key.
There is no check that the subject ID inside the session json is the same as the the subject specified in the call to db.add_session
Do sessions contains a solution id or something like that? We might want to consider saving solutions as part of sessions, in which case this would partly depend on #103
There are problems with
db.add_session
:Session.to_dict
fails when there is no volume (recall from 87c4482d37a7e722656aa3c21a04784a448204d4 that we wanted to phase outvolume
in favor ofvolume_id
– so apparently that transition needs to be taken to completion).db.add_session