Преглед на файлове

Fix some fields that can now be missing

Tulir Asokan преди 4 години
родител
ревизия
ecbdc0bd19
променени са 1 файла, в които са добавени 8 реда и са изтрити 7 реда
  1. 8 7
      mausignald/types.py

+ 8 - 7
mausignald/types.py

@@ -155,10 +155,10 @@ class Quote(SerializableAttrs['Quote']):
     # TODO: attachments, mentions
 
 
-@dataclass
+@dataclass(kw_only=True)
 class Reaction(SerializableAttrs['Reaction']):
     emoji: str
-    remove: bool
+    remove: bool = False
     target_author: Address = attr.ib(metadata={"json": "targetAuthor"})
     target_sent_timestamp: int = attr.ib(metadata={"json": "targetSentTimestamp"})
 
@@ -252,7 +252,7 @@ class MessageType(SerializableEnum):
     UNKNOWN = "UNKNOWN"
 
 
-@dataclass
+@dataclass(kw_only=True)
 class Message(SerializableAttrs['Message']):
     username: str
     source: Address
@@ -260,11 +260,12 @@ class Message(SerializableAttrs['Message']):
     timestamp_iso: str = attr.ib(metadata={"json": "timestampISO"})
 
     type: MessageType
-    source_device: int = attr.ib(metadata={"json": "sourceDevice"})
-    server_timestamp: int = attr.ib(metadata={"json": "serverTimestamp"})
+    source_device: Optional[int] = attr.ib(metadata={"json": "sourceDevice"}, default=None)
+    server_timestamp: Optional[int] = attr.ib(metadata={"json": "serverTimestamp"}, default=None)
     server_delivered_timestamp: int = attr.ib(metadata={"json": "serverDeliveredTimestamp"})
-    has_content: bool = attr.ib(metadata={"json": "hasContent"})
-    is_unidentified_sender: bool = attr.ib(metadata={"json": "isUnidentifiedSender"})
+    has_content: bool = attr.ib(metadata={"json": "hasContent"}, default=False)
+    is_unidentified_sender: Optional[bool] = attr.ib(metadata={"json": "isUnidentifiedSender"},
+                                                     default=None)
     has_legacy_message: bool = attr.ib(default=False, metadata={"json": "hasLegacyMessage"})
 
     data_message: Optional[MessageData] = attr.ib(default=None, metadata={"json": "dataMessage"})