Esempio n. 1
0
 def post(self, request):
     sql = request.POST.get('sql', None)
     if not sql:
         return PlayQueryView.render(request)
     query = Query(sql=sql, title="Playground")
     query.params = url_get_params(request)
     return self.render_with_sql(request, query)
Esempio n. 2
0
def download_query(request, query_id):
    query = get_object_or_404(Query, pk=query_id)
    query.params = url_get_params(request)
    fn = generate_report_action()
    return fn(None, None, [
        query,
    ])
Esempio n. 3
0
 def post(self, request):
     sql = request.POST.get('sql', None)
     if not sql:
         return PlayQueryView.render(request)
     query = Query(sql=sql, title="Playground")
     query.params = url_get_params(request)
     return self.render_with_sql(request, query)
Esempio n. 4
0
def query_viewmodel(request, query, title=None, form=None, message=None):
    rows = url_get_rows(request)
    params = url_get_params(request)
    headers, data, duration, error = query.headers_and_data(params)
    return RequestContext(
        request, {
            'error':
            error,
            'params':
            query.available_params(param_values=params),
            'title':
            title,
            'query':
            query,
            'form':
            form,
            'message':
            message,
            'data':
            data[:rows],
            'headers':
            headers,
            'duration':
            duration,
            'rows':
            rows,
            'total_rows':
            len(data),
            'dataUrl':
            reverse_lazy('query_csv', kwargs={'query_id': query.id})
            if query.id else ''
        })
Esempio n. 5
0
def csv_from_sql(request):
    sql = request.POST.get('sql', None)
    if not sql:
        return PlayQueryView.render(request)
    query = Query(sql=sql)
    query.params = url_get_params(request)
    fn = generate_report_action()
    return fn(None, None, [query, ])
Esempio n. 6
0
def csv_from_sql(request):
    sql = request.POST.get('sql', None)
    if not sql:
        return PlayQueryView.render(request)
    query = Query(sql=sql)
    query.params = url_get_params(request)
    fn = generate_report_action()
    return fn(None, None, [
        query,
    ])
Esempio n. 7
0
def _export(request, query, download=True):
    format = request.GET.get('format', 'csv')
    exporter_class = get_exporter_class(format)
    query.params = url_get_params(request)
    delim = request.GET.get('delim')
    exporter = exporter_class(query)
    output = exporter.get_output(delim=delim)
    response = HttpResponse(output, content_type=exporter.content_type)
    if download:
        response['Content-Disposition'] = 'attachment; filename="%s"' % (
            exporter.get_filename())
    return response
Esempio n. 8
0
def _export(request, query, download=True):
    format = request.GET.get('format', 'csv')
    exporter_class = get_exporter_class(format)
    query.params = url_get_params(request)
    delim = request.GET.get('delim')
    exporter = exporter_class(query)
    output = exporter.get_output(delim=delim)
    response = HttpResponse(output, content_type=exporter.content_type)
    if download:
        response['Content-Disposition'] = 'attachment; filename="%s"' % (
            exporter.get_filename()
        )
    return response
Esempio n. 9
0
def _export(request, query, download=True):
    format = request.GET.get('format', 'csv')
    exporter_class = get_exporter_class(format)
    query.params = url_get_params(request)
    delim = request.GET.get('delim')
    exporter = exporter_class(query)
    try:
        output = exporter.get_output(delim=delim)
    except DatabaseError as e:
        msg = "Error executing query %s: %s" % (query.title, e)
        return HttpResponse(msg, status=500)
    response = HttpResponse(output, content_type=exporter.content_type)
    if download:
        response['Content-Disposition'] = 'attachment; filename="%s"' % (exporter.get_filename())
    return response
Esempio n. 10
0
def query_viewmodel(request, query, title=None, form=None, message=None):
    rows = url_get_rows(request)
    params = url_get_params(request)
    headers, data, duration, error = query.headers_and_data(params)
    return RequestContext(request, {
            'error': error,
            'params': query.available_params(param_values=params),
            'title': title,
            'query': query,
            'form': form,
            'message': message,
            'data': data[:rows],
            'headers': headers,
            'duration': duration,
            'rows': rows,
            'total_rows': len(data)})
Esempio n. 11
0
def _export(request, query, download=True):
    format = request.GET.get('format', 'csv')
    exporter_class = get_exporter_class(format)
    query.params = url_get_params(request)
    delim = request.GET.get('delim')
    exporter = exporter_class(query)
    try:
        output = exporter.get_output(delim=delim)
    except DatabaseError as e:
        msg = "Error executing query %s: %s" % (query.title, e)
        return HttpResponse(msg, status=500)
    response = HttpResponse(output, content_type=exporter.content_type)
    if download:
        response['Content-Disposition'] = 'attachment; filename="%s"' % (
            exporter.get_filename()
        )
    return response
Esempio n. 12
0
def query_viewmodel(request, query, title=None, form=None, message=None):
    rows = url_get_rows(request)
    params = url_get_params(request)
    headers, data, duration, error = query.headers_and_data(params)
    return RequestContext(
        request,
        {
            "error": error,
            "params": query.available_params(param_values=params),
            "title": title,
            "query": query,
            "form": form,
            "message": message,
            "data": data[:rows],
            "headers": headers,
            "duration": duration,
            "rows": rows,
            "total_rows": len(data),
        },
    )
Esempio n. 13
0
def _csv_response(request, query_id, stream=False, delim=None):
    query = get_object_or_404(Query, pk=query_id)
    query.params = url_get_params(request)
    return build_stream_response(
        query, delim) if stream else build_download_response(query, delim)
Esempio n. 14
0
def download_query(request, query_id):
    query = get_object_or_404(Query, pk=query_id)
    query.params = url_get_params(request)
    fn = generate_report_action()
    return fn(None, None, [query, ])
Esempio n. 15
0
 def get_instance_and_form(request, query_id):
     query = get_object_or_404(Query, pk=query_id)
     query.params = url_get_params(request)
     form = QueryForm(request.POST if len(request.POST) else None, instance=query)
     return query, form
Esempio n. 16
0
 def get(self, request):
     if not url_get_query_id(request):
         return self.render(request)
     query = get_object_or_404(Query, pk=url_get_query_id(request))
     query.params = url_get_params(request)
     return self.render_with_sql(request, query)
Esempio n. 17
0
 def get(self, request):
     if not url_get_query_id(request):
         return self.render(request)
     query = get_object_or_404(Query, pk=url_get_query_id(request))
     query.params = url_get_params(request)
     return self.render_with_sql(request, query)
Esempio n. 18
0
def download_csv_from_sql(request):
    sql = request.POST.get('sql')
    return build_download_response(Query(sql=sql, title="Playground", params=url_get_params(request)))
Esempio n. 19
0
def _csv_response(request, query_id, stream=False):
    query = get_object_or_404(Query, pk=query_id)
    query.params = url_get_params(request)
    return build_stream_response(query) if stream else build_download_response(query)
Esempio n. 20
0
 def get_instance_and_form(request, query_id):
     query = get_object_or_404(Query, pk=query_id)
     query.params = url_get_params(request)
     form = QueryForm(request.POST if len(request.POST) else None,
                      instance=query)
     return query, form
Esempio n. 21
0
def download_csv_from_sql(request):
    sql = request.POST.get('sql')
    return build_download_response(
        Query(sql=sql, title="Playground", params=url_get_params(request)))