def _make_stream(self, broken_method=None, is_running=True, auto_reconnect=True): from datasift.streamconsumer_http import (StreamConsumer_HTTP, StreamConsumer_HTTP_Thread) import testdata user = datasift.User('fake', 'user') client = datasift.mockapiclient.MockApiClient() response = { 'response_code': 200, 'data': { 'hash': testdata.definition_hash, 'created_at': '2011-12-13 14:15:16', 'dpu': 10, }, 'rate_limit': 200, 'rate_limit_remaining': 150, } client.set_response(response) user.set_api_client(client) definition = datasift.Definition(user, 'some cdsl') handler = BrokenHandler(broken_method) consumer = StreamConsumer_HTTP(user, definition, handler) if is_running: consumer._state = consumer.STATE_RUNNING return StreamConsumer_HTTP_Thread(consumer, auto_reconnect=auto_reconnect)
def execute(self, data): try: datasift_user = datasift.User(data['settings']['api_name'], data['settings']['api_key']) if not datasift_user: return self._result( False, '%s: Failed to create the Datasift user object!' % (__name__)) else: consumer = datasift_user.create_definition( data['csdl']).get_consumer( DatasiftEventHandler(self, data), 'http') consumer.consume() consumer.run_forever() plural = '' if data['settings']['sample_size'] != 1: plural = 's' return self._result( True, 'Finished consuming %s sample interaction%s' % (data['settings']['sample_size'], plural)) except datasift.InvalidDataError as e: return self._result(False, str(e)) except datasift.CompileFailedError as e: return self._result(False, 'CSDL syntax error: %s' % str(e)) except datasift.APIError as (e, c): return self._result(False, str(e))
def __init__(self, args): """ Initialise the environment with the provided arguments. """ if len(args) < 2: sys.stderr.write('Please specify your DataSift username and API key as the first two command line arguments!\n') sys.exit(1) self._user = datasift.User(args[1], args[2]) self._args = args[3:]
def execute(self, data): try: datasift_user = datasift.User(data['settings']['api_name'], data['settings']['api_key']) if not datasift_user: return self._result( False, '%s: Failed to create the Datasift user object!' % (__name__)) else: datasift_user.create_definition(data['csdl']).validate() return self._result( True, '%s: CSDL validated successfully' % (__name__)) except datasift.InvalidDataError as e: return self._result(False, str(e)) except datasift.CompileFailedError as e: return self._result(False, 'CSDL syntax error: %s' % str(e)) except datasift.APIError as (e, c): return self._result(False, str(e))
def execute(self, data): try: datasift_user = datasift.User(data['settings']['api_name'], data['settings']['api_key']) if not datasift_user: return self._result( False, '%s: Failed to create the Datasift user object!' % (__name__)) else: definition = datasift_user.create_definition(data['csdl']) definition.validate() stream_hash = definition.get_hash() return self._result( True, '%s: CSDL compiled successfully, hash %s has been copied into your clipboard.' % (__name__, stream_hash), {'clipboard': stream_hash}) except datasift.InvalidDataError as e: return self._result(False, str(e)) except datasift.CompileFailedError as e: return self._result(False, 'CSDL syntax error: %s' % str(e)) except datasift.APIError as (e, c): return self._result(False, str(e))
print '[%s]' % hash, 'Deleted:', interaction['interaction']['id'] print '--' def on_warning(self, consumer, message): print 'WARN: %s' % (message) def on_error(self, consumer, message): print 'ERR: %s' % (message) def on_status(self, consumer, status, data): if 'tick' in data: print 'TICK' else: print 'STATUS: %s' % (status) print '--' def on_disconnect(self, consumer): print 'Disconnected' print 'Creating user...' user = datasift.User(config.username, config.api_key) print 'Getting the consumer...' consumer = user.get_multi_consumer(sys.argv[1:], EventHandler(), 'http') print 'Consuming...' print '--' consumer.consume() consumer.run_forever()
def setUp(self): self.user = datasift.User(testdata.username, testdata.api_key) self.mock_api_client = datasift.mockapiclient.MockApiClient() self.user.set_api_client(self.mock_api_client)
def setUp(self): self.user = datasift.User(config.username, config.api_key)
def __init__(self, args): if len(args) < 2: sys.stderr.write("Please specify your DataSift username and API key as the first two command line arguments\n") sys.exit(1) self._user = datasift.User(args[1], args[2])
def setUp(self): self.user = datasift.User(testdata.username, testdata.api_key) self.mock_api_client = datasift.mockapiclient.MockApiClient() self.user.set_api_client(self.mock_api_client) self.pushdef = datasift.PushDefinition(self.user)