Beispiel #1
0
 def from_json_dict(cls, param: dict) -> "Permalink":
     return Permalink(
         seed_number=param["seed"],
         spoiler=param["spoiler"],
         patcher_configuration=PatcherConfiguration.from_json_dict(
             param["patcher_configuration"]),
         layout_configuration=LayoutConfiguration.from_json_dict(
             param["layout_configuration"]),
     )
Beispiel #2
0
 def from_json_dict(cls, value) -> "Preset":
     return Preset(
         name=value["name"],
         description=value["description"],
         base_preset_name=value["base_preset_name"],
         patcher_configuration=PatcherConfiguration.from_json_dict(
             value["patcher_configuration"]),
         layout_configuration=LayoutConfiguration.from_json_dict(
             value["layout_configuration"]),
     )
def _load_previous_state(persistence_path: Path,
                         layout_configuration: LayoutConfiguration,
                         ) -> Optional[dict]:
    previous_layout_path = persistence_path.joinpath("layout_configuration.json")
    try:
        with previous_layout_path.open() as previous_layout_file:
            previous_layout = LayoutConfiguration.from_json_dict(json.load(previous_layout_file))
    except (FileNotFoundError, TypeError, KeyError, json.JSONDecodeError):
        return None

    if previous_layout != layout_configuration:
        return None

    previous_state_path = persistence_path.joinpath("state.json")
    try:
        with previous_state_path.open() as previous_state_file:
            return json.load(previous_state_file)
    except (FileNotFoundError, json.JSONDecodeError):
        return None
def _load_previous_state(
    persistence_path: Path,
    layout_configuration: LayoutConfiguration,
) -> Optional[dict]:
    previous_layout_path = persistence_path.joinpath(
        "layout_configuration.json")
    if not previous_layout_path.is_file():
        return None

    with previous_layout_path.open() as previous_layout_file:
        previous_layout = LayoutConfiguration.from_json_dict(
            json.load(previous_layout_file))
        if previous_layout != layout_configuration:
            return None

    previous_state_path = persistence_path.joinpath("state.json")
    if not previous_state_path.is_file():
        return None

    with previous_state_path.open() as previous_state_file:
        return json.load(previous_state_file)