Exemple #1
0
    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