def find(**kwargs):

    if 'deviceID' in kwargs:
        kwargs['deviceID'] = '"' + _URL + _DEVICE_PATH + "/" + kwargs['deviceID'] + '"'
    if 'individualID' in kwargs:
        kwargs['individualID'] = '"' + _URL + _INDIVIDUAL_PATH + "/" + kwargs['individualID'] + '"'

    attachments = LajiStoreAPI.get_all_deviceindividual(**kwargs)
    devices = LajiStoreAPI.get_all_devices()
    deviceIDs = set([d["id"] for d in devices])
    individuals = LajiStoreAPI.get_all_individuals()
    individualIDs = set()

    for i in individuals:
        # soft removed?
        if not i["deleted"]:
            individualIDs.add(i["id"])

    valid = []

    for attachment in attachments:
        if "removed" not in attachment:
            attachment["removed"] = None
        # really removed?
        if attachment['deviceID'] in deviceIDs and attachment['individualID'] in individualIDs:
            valid.append(attachment)
    return valid
    def testGetAll(self):
        response = LajiStoreAPI.get_all_documents()
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_devices()
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_individuals()
        self.assertGreaterEqual(len(response), 0)
Beispiel #3
0
def find(**kwargs):
    '''
    Find all matching devices.
    :param kwargs: Search parameters. No parameters will search all devices.
    :return: A list of Device objects.
    '''
    data = LajiStoreAPI.get_all_devices(**kwargs)
    devices = []
    for device in data:  # Creates a list of devices to return
        devices.append(Device(**device))
    return devices
    def testSingleArgumentQueries(self):
        response = LajiStoreAPI.get_all_devices(deviceManufacturerID="ABCD1234567")
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_documents(deviceID="ABCDTESTTEST")
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_individuals(deleted=True)
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_documents(deviceID="NOTFOUND")
        self.assertEqual(len(response), 0)
Beispiel #5
0
    def testSingleArgumentQueries(self):

        response = LajiStoreAPI.get_all_devices(deviceId="ABCD1234567")
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_documents(documentId="ABCDTESTTEST")
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_individuals(individualId="INDIVIDUALABCD")
        self.assertGreaterEqual(len(response), 0)

        response = LajiStoreAPI.get_all_documents(documentId="NOTFOUND")
        self.assertEqual(len(response), 0)
Beispiel #6
0
def _get_many(**kwargs):
    data = LajiStoreAPI.get_all_devices(**kwargs)
    devices = []
    for device in data:  # creates a list of devices to return
        devices.append(Device(**device))
    return devices