def get_pubsub_data(self, devicedata_entry): # type: (DeviceData) -> dict data = devicedata_entry.to_json() # Previous locations device = devicedata_entry.device_key.get() previous_5 = devicedata_entry.get_last(device, n=6) try: previous_5.remove(devicedata_entry) except ValueError: pass data['previous'] = [prev.to_json() for prev in previous_5] # Phone data system = device.system_key.get() owned = Owner.from_system(system) secondary_nums = Secondary.get_all_contact_numbers(system) try: phone_numbers = [owned.get_contact_number()] + secondary_nums except AttributeError: raise LookupError("No system owner.") data['phones'] = phone_numbers return data
def test_owner_from_system(random_owner, random_system): assert Owner.from_system(random_system) == random_owner