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]