def from_dict(cls, obj): import json assert obj['__id__'] == 'Refiner' return_obj = cls() for k, v in obj.iteritems(): if k == '_refinr_indexers': v_new = {} for k_, v_ in v.iteritems(): from libtbx.utils import import_python_object integrater_cls = import_python_object( import_path=".".join((v_['__module__'], v_['__name__'])), error_prefix='', target_must_be='', where_str='').object v_new[float(k_)] = integrater_cls.from_dict(v_) v = v_new elif k == '_refinr_payload': v_new = {} for k_, v_ in v.iteritems(): try: v_new[float(k_)] = v_ except ValueError, e: v_new[k_] = v_ v = v_new if isinstance(v, dict): if v.get('__id__', None) == 'ExperimentList': from dxtbx.model.experiment.experiment_list import ExperimentListFactory v = ExperimentListFactory.from_dict(v, check_format=False) setattr(return_obj, k, v)
def from_dict(cls, obj): assert obj['__id__'] == 'Indexer' assert obj['__name__'] == cls.__name__ return_obj = cls() for k, v in obj.iteritems(): if k == '_indxr_helper' and v is not None: from xia2.Schema.Interfaces.Indexer import _IndexerHelper v = _IndexerHelper(v) if k == '_indxr_imagesets' and len(v): assert v[0].get('__id__') == 'imageset' from dxtbx.serialize.imageset import imageset_from_dict v = [imageset_from_dict(v_, check_format=False) for v_ in v] if isinstance(v, dict): if v.get('__id__') == 'ExperimentList': from dxtbx.model.experiment.experiment_list import ExperimentListFactory v = ExperimentListFactory.from_dict(v, check_format=False) setattr(return_obj, k, v) return return_obj
def from_dict(cls, obj): assert obj['__id__'] == 'Integrater' return_obj = cls() for k, v in obj.iteritems(): if k in ('_intgr_indexer', '_intgr_refiner') and v is not None: from libtbx.utils import import_python_object cls = import_python_object( import_path=".".join((v['__module__'], v['__name__'])), error_prefix='', target_must_be='', where_str='').object v = cls.from_dict(v) if isinstance(v, dict): if v.get('__id__') == 'ExperimentList': from dxtbx.model.experiment.experiment_list import ExperimentListFactory v = ExperimentListFactory.from_dict(v) elif v.get('__id__') == 'imageset': from dxtbx.serialize.imageset import imageset_from_dict v = imageset_from_dict(v, check_format=False) setattr(return_obj, k, v) return return_obj