def __init__()

in client/securedrop_client/sdk/sdlocalobjects.py [0:0]


    def __init__(self, **kwargs) -> None:  # type: ignore
        self.filename = ""  # type: str
        self.journalist_uuid = ""  # type: str
        self.journalist_username = ""  # type: str
        self.journalist_first_name = ""  # type: str
        self.journalist_last_name = ""  # type: str
        self.is_deleted_by_source = False  # type: bool
        self.reply_url = ""  # type: str
        self.size = 0  # type: int
        self.source_url = ""  # type: str
        self.source_uuid = ""  # type: str
        self.uuid = ""  # type: str

        if {"uuid", "filename"} == set(kwargs.keys()):
            # Then we are creating an object for fetching from the server.
            self.uuid = kwargs["uuid"]
            self.filename = kwargs["filename"]
            return
            # Fetch an object only by uuid and soure_uuid.
        elif {"uuid", "source_uuid"} == set(kwargs.keys()):
            self.uuid = kwargs["uuid"]
            self.source_uuid = kwargs["source_uuid"]
            return

        try:
            self.filename = kwargs["filename"]
            self.journalist_uuid = kwargs["journalist_uuid"]
            self.journalist_username = kwargs["journalist_username"]
            self.journalist_first_name = kwargs["journalist_first_name"]
            self.journalist_last_name = kwargs["journalist_last_name"]
            self.is_deleted_by_source = kwargs["is_deleted_by_source"]
            self.reply_url = kwargs["reply_url"]
            self.size = kwargs["size"]
            self.source_url = kwargs["source_url"]
            self.uuid = kwargs["uuid"]
            self.seen_by = kwargs["seen_by"]
        except KeyError as err:
            raise AttributeError(f"Missing key {err.args[0]}") from err

        # Now let us set source uuid
        values = self.source_url.split("/")
        self.source_uuid = values[-1]