mirror of
https://github.com/aljazceru/python-teos.git
synced 2025-12-18 06:34:19 +01:00
Adds class method to create from dict and on_sync method
This commit is contained in:
@@ -15,14 +15,32 @@ class Appointment:
|
||||
self.cipher = cipher
|
||||
self.hash_function = hash_function
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, appointment_data):
|
||||
locator = appointment_data.get("locator")
|
||||
start_time = appointment_data.get("start_time") # ToDo: #4-standardize-appointment-fields
|
||||
end_time = appointment_data.get("end_time") # ToDo: #4-standardize-appointment-fields
|
||||
dispute_delta = appointment_data.get("dispute_delta")
|
||||
encrypted_blob_data = appointment_data.get("encrypted_blob")
|
||||
cipher = appointment_data.get("cipher")
|
||||
hash_function = appointment_data.get("hash_function")
|
||||
|
||||
if all([locator, start_time, end_time, dispute_delta, encrypted_blob_data, cipher, hash_function]) is not None:
|
||||
appointment = cls(locator, start_time, end_time, dispute_delta, EncryptedBlob(encrypted_blob_data), cipher,
|
||||
hash_function)
|
||||
|
||||
else:
|
||||
raise ValueError("Wrong appointment data, some fields are missing")
|
||||
|
||||
return appointment
|
||||
|
||||
def to_dict(self):
|
||||
# ToDO: #3-improve-appointment-structure
|
||||
appointment = {"locator": self.locator, "start_time": self.start_time, "end_time": self.end_time,
|
||||
"dispute_delta": self.dispute_delta, "encrypted_blob": self.encrypted_blob.data,
|
||||
"cipher": self.cipher, "hash_function": self.hash_function}
|
||||
|
||||
return appointment
|
||||
|
||||
# ToDO: #3-improve-appointment-structure
|
||||
|
||||
def to_json(self):
|
||||
return json.dumps(self.to_dict(), sort_keys=True, separators=(',', ':'))
|
||||
|
||||
Reference in New Issue
Block a user