Verified Commit 2d2c80ae authored by Jakob Moser's avatar Jakob Moser
Browse files

Reformat file

parent 9ba087a1
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ import json

STUDIENFACHSCHAFTEN_JSON_PATH = Path("instance/studienfachschaften.json")


@dataclass(frozen=True, eq=True)
class Studienfachschaft:

@@ -17,19 +18,25 @@ class Studienfachschaft:

    @classmethod
    def from_dict(cls, d: dict[str, Any]) -> Self:
        return cls(
            uuid=UUID(d["uuid"]),
            name=d["name"]
        )
        return cls(uuid=UUID(d["uuid"]), name=d["name"])


def download_studienfachschaften() -> None:
    """Use the Schwalbe API to download a list of Studienfachschaften and store it in `instance`."""
    with open(STUDIENFACHSCHAFTEN_JSON_PATH, "w") as f:
        json.dump(requests.get("https://schwalbe.stura.uni-heidelberg.de/api/v2/studienfachschaften").json(), f, indent=4, ensure_ascii=False)
        json.dump(
            requests.get(
                "https://schwalbe.stura.uni-heidelberg.de/api/v2/studienfachschaften"
            ).json(),
            f,
            indent=4,
            ensure_ascii=False,
        )


def get_studienfachschaften(force_download: bool = False) -> Sequence[Studienfachschaft]:
def get_studienfachschaften(
    force_download: bool = False,
) -> Sequence[Studienfachschaft]:
    if force_download or not STUDIENFACHSCHAFTEN_JSON_PATH.exists():
        download_studienfachschaften()