Ejemplo n.º 1
0
    def test_request_data_with_payload(self):

        foursquare_uri = 'foursquare://venues/4be0b4f0652b0f475f607311'

        storage_payload = StoragePayload()

        storage_payload.add_type(WGS_84.SpatialThing)
        storage_payload.add_property(RDFS.seeAlso, foursquare_uri)

        result = get_foursquare_venue(storage_payload)

        self.assertEqual(result, foursquare_uri.split('/')[-1])
    def _rdf_request_message(self, rdf_payload):
        logger.debug('Looking up knowledge')

        form = rdf_payload['form']

        payload = StoragePayload(form)

        # Determine if the payload request matches the payloads that are provided by this provider.
        intersection = self.type_requirements.intersection(set(payload.types))
        if len(intersection) == len(self.type_requirements):

            venue = get_foursquare_venue(payload)

            if venue:
                payload.add_flag(FindFlags.CREATE_IF_MISSING, True)
                promise = self._storage_client.find_nodes(payload).then(self._handle_results)

                return promise

        return None