def get(self, request): query = request.REQUEST.get('query') form = SparqlQueryForm(request.REQUEST if query else None, formats=self.get_format_choices()) context = self.context context.update({ 'namespaces': sorted(NS.items()), 'form': form, 'store': self.store }) if form.is_valid(): try: results = self.perform_query( request, query, form.cleaned_data['common_prefixes']) except QueryError, e: context['error'] = e.message context['status_code'] = e.status_code else: context['additional_headers'][ 'X-Humfrey-SPARQL-Duration'] = results.duration context['queries'] = [results.query] context['duration'] = results.duration context['results'] = results if results.format_type == 'sparql-results': return self._sparql_results_view(request, context) elif results.format_type == 'graph': return self._graph_view(request, context) raise AssertionError("Unexpected format type: {0}".format( results.format_type))
def get(self, request): query = request.REQUEST.get('query') form = SparqlQueryForm(request.REQUEST if query else None, formats=self.get_format_choices()) context = self.context context.update({ 'namespaces': sorted(NS.items()), 'form': form, 'store': self.store }) if form.is_valid(): try: results = self.perform_query(request, query, form.cleaned_data['common_prefixes']) except QueryError, e: context['error'] = e.message context['status_code'] = e.status_code else: context['additional_headers']['X-Humfrey-SPARQL-Duration'] = results.duration context['queries'] = [results.query] context['duration'] = results.duration context['results'] = results if results.format_type == 'sparql-results': return self._sparql_results_view(request, context) elif results.format_type == 'graph': return self._graph_view(request, context) raise AssertionError("Unexpected format type: {0}".format(results.format_type))
def get(self, request): privileges = self.get_user_privileges(request) query = request.REQUEST.get('query') form = SparqlQueryForm(request.REQUEST if query else None, formats=self.get_format_choices()) context = { 'namespaces': sorted(NS.items()), 'form': form, 'store': self.store, } if privileges['throttle']: additional_headers = context['additional_headers'] = { 'X-Humfrey-SPARQL-Throttle-Threshold': privileges['throttle_threshold'], 'X-Humfrey-SPARQL-Deny-Threshold': privileges['deny_threshold'], 'X-Humfrey-SPARQL-Intensity-Decay': privileges['intensity_decay'], } if form.is_valid(): try: results, intensity = self.perform_query(request, query, form.cleaned_data['common_prefixes'], privileges) if intensity is not None: additional_headers['X-Humfrey-SPARQL-Intensity'] = intensity except urllib2.HTTPError, e: context['error'] = e.read() #parse(e).find('.//pre').text context['status_code'] = e.code except self.ConcurrentQueryException, e: context['error'] = "You cannot perform more than one query at a time.\nPlease wait for your previous query to complete or time out first." context['status_code'] = 403