示例#1
0
    def _from_dict(cls, ser: RunDescriberDicts) -> 'RunDescriber':
        """
        Make a RunDescriber object from a dictionary. This method is
        intended to be used only by the deserialization routines.
        """
        if ser['version'] == 0:
            ser = cast(RunDescriberV0Dict, ser)
            rundesc = cls(
                old_to_new(
                    InterDependencies._from_dict(ser['interdependencies'])))
        elif ser['version'] == 1:
            ser = cast(RunDescriberV1Dict, ser)
            rundesc = cls(
                InterDependencies_._from_dict(ser['interdependencies']))
        elif ser['version'] == 2:
            ser = cast(RunDescriberV2Dict, ser)
            rundesc = cls(
                InterDependencies_._from_dict(ser['interdependencies_']))
        elif ser['version'] >= 3:
            ser = cast(RunDescriberV3Dict, ser)
            rundesc = cls(InterDependencies_._from_dict(
                ser['interdependencies_']),
                          shapes=ser['shapes'])
        else:
            raise RuntimeError(f"Unknown version: "
                               f"Cannot deserialize from {ser['version']}")

        return rundesc
示例#2
0
    def _from_dict(cls, ser: Dict[str, Any]) -> 'RunDescriber':
        """
        Make a RunDescriber object from a dictionary. This method is
        intended to be used only by the deserialization routines.
        """

        rundesc = cls(InterDependencies_._from_dict(ser['interdependencies']))

        return rundesc
示例#3
0
 def tester(idps):
     ser = idps._to_dict()
     json.dumps(ser)
     idps_deser = InterDependencies_._from_dict(ser)
     assert idps == idps_deser