def generate_report(title, description, sql): """ Generate Turtle file from query. :param title: Query title. :param description: query description. :param sql: Query sql. :return: Response with Turtle attachment. """ df = load_data_frame(request) multi_index = has_data_frame_multi_level_columns(df) if multi_index: int_df = unpivot(df) else: int_df = df title = title.strip().encode("UTF-8").replace(" ", '_') if len(title) > max_length_filename: title = title[:max_length_filename] extension = 'ttl' filename = '%s.%s' % (title, extension) res = rdf_report(sql, title, description, data_frame=int_df, rdf_format='turtle') # Setup response content_type = 'text/turtle' response = HttpResponse(res) response["content_type"] = content_type response['Content-Disposition'] = \ 'attachment; filename="{0}"'.format(filename) return response
def generate_report(title, sql): """ Generate Sdmx file from query. :param title: The query title. :param sql: The query sql. :return: Response with Sdmx attachment. """ df = load_data_frame(request) multi_index = has_data_frame_multi_level_columns(df) if multi_index: int_df = unpivot(df) else: int_df = df title = title.strip().encode("UTF-8").replace(" ", '_') if len(title) > max_length_filename: title = title[:max_length_filename] extension = 'sdmx' filename = '%s.%s' % (title, extension) content_type = 'application/xml' res = sdmx_report(sql, int_df) # Setup response response = HttpResponse(res) response["content_type"] = content_type response['Content-Disposition'] = \ 'attachment; filename="{0}"'.format(filename) return response
def generate_report(title): """ Generate JSON-stat file from query. :return: Response with JSON-stat attachment. """ df = load_data_frame(request) sql = query_sql(request) #df = reconciles_data_frame(df, sql) multi_index = has_data_frame_multi_level_columns(df) if multi_index: int_df = unpivot(df) value = df.columns.levels[0][0] else: int_df = df value = df.columns[len(df.columns)-1] int_df = reconciles_data_frame(int_df, sql) title = title.strip().encode("UTF-8").replace(" ", '_') if len(title) > max_length_filename: title = title[:max_length_filename] extension = 'json' filename = '%s.%s' % (title, extension) content_type = 'application/json' response = HttpResponse() response["content_type"] = content_type response['Content-Disposition'] = \ 'attachment; filename="{0}"'.format(filename) if value is None: return response val = to_json_stat(int_df, value=value) # Setup response response.write(val) return response