def execute_queries(relay, queries): from importlib import import_module query_results = {} for query_id, query in six.iteritems(queries): try: relay_query = import_module('sentry.relay.queries.%s' % query.get('type', None)) except ImportError: result = {'status': 'error', 'error': 'unknown query'} else: query_class = getattr(relay_query, type_to_class_name(query.get('type', None))) query_inst = query_class(relay) try: query_inst.preprocess(query) except InvalidQuery as exc: result = { 'status': 'error', 'error': six.binary_type(exc), } else: # TODO(mitsuhiko): support for pending or failing queries result = { 'status': 'ok', 'result': query_inst.execute(), } query_results[query_id] = result return query_results
def execute_queries(relay, queries): from django.utils.importlib import import_module query_results = {} for query_id, query in six.iteritems(queries): try: relay_query = import_module('sentry.relay.queries.%s' % query.get('type', None)) except ImportError: result = { 'status': 'error', 'error': 'unknown query' } else: query_class = getattr(relay_query, type_to_class_name(query.get('type', None))) query_inst = query_class(relay) try: query_inst.preprocess(query) except InvalidQuery as exc: result = { 'status': 'error', 'error': six.binary_type(exc), } else: # TODO(mitsuhiko): support for pending or failing queries result = { 'status': 'ok', 'result': query_inst.execute(), } query_results[query_id] = result return query_results
def execute_queries(relay, queries): query_results = {} for query_id, query in six.iteritems(queries): try: relay_query = import_module("sentry.relay.queries.%s" % query.get("type", None)) except ImportError: result = {"status": "error", "error": "unknown query"} else: query_class = getattr(relay_query, type_to_class_name(query.get("type", None))) query_inst = query_class(relay) try: query_inst.preprocess(query) except InvalidQuery as exc: result = {"status": "error", "error": six.text_type(exc)} else: # TODO(mitsuhiko): support for pending or failing queries result = {"status": "ok", "result": query_inst.execute()} query_results[query_id] = result return query_results
def execute_changesets(relay, changesets): for changeset in changesets: try: relay_changeset = import_module('sentry.relay.changesets.%s' % changeset.get('type')) except ImportError: logger.error('Changeset failed', exc_info=True) return change_set_class = getattr( relay_changeset, type_to_class_name(changeset.get('type', None))) change_set_inst = change_set_class(relay) try: change_set_inst.preprocess(changeset) except ChangesetError: logger.error('Changeset failed', exc_info=True) try: change_set_inst.execute() except ChangesetError: logger.error('Changeset failed', exc_info=True)
def execute_changesets(relay, changesets): from django.utils.importlib import import_module for changeset in changesets: try: relay_changeset = import_module( 'sentry.relay.changesets.%s' % changeset.get('type')) except ImportError: logger.error('Changeset failed', exc_info=True) return change_set_class = getattr(relay_changeset, type_to_class_name(changeset.get('type', None))) change_set_inst = change_set_class(relay) try: change_set_inst.preprocess(changeset) except ChangesetError: logger.error('Changeset failed', exc_info=True) try: change_set_inst.execute() except ChangesetError: logger.error('Changeset failed', exc_info=True)