Skip to content

Commit

Permalink
Add missing file
Browse files Browse the repository at this point in the history
  • Loading branch information
rchristie committed Jan 16, 2020
1 parent 032280c commit f63fec2
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/scaffoldfitter/fitterjson.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""
Factory function for constructing FitterStep types from JSON Dict.
"""
from scaffoldfitter.fitter import Fitter
from scaffoldfitter.fitterstepalign import FitterStepAlign
from scaffoldfitter.fitterstepfit import FitterStepFit


def decodeJSONFitterSteps(fitter : Fitter, dct):
"""
Function for passing as decoder to Fitter.decodeSettingsJSON().
Constructs scaffold objects from their JSON object encoding.
Used as object_hook argument to json.loads as a lambda function
to pass fitter:
lambda dct: decodeJSONFitterSteps(fitter, dct)
:param fitter: Owning Fitter object for new FitterSteps.
"""
for FitterStepType in [ FitterStepAlign, FitterStepFit ]:
if FitterStepType.getJsonTypeId() in dct:
fitterStep = FitterStepType(fitter)
fitterStep.decodeSettingsJSONDict(dct)
return fitterStep
return dct

0 comments on commit f63fec2

Please sign in to comment.