Пример #1
0
    def get(self, query_id, query_result_id=None):
        if not query_result_id:
            query = models.Query.get(models.Query.id == query_id)
            if query:
                query_result_id = query._data['latest_query_data']

        query_result = query_result_id and data_manager.get_query_result_by_id(
            query_result_id)
        if query_result:
            s = cStringIO.StringIO()

            query_data = json.loads(query_result.data)
            writer = csv.DictWriter(
                s, fieldnames=[col['name'] for col in query_data['columns']])
            writer.writer = utils.UnicodeWriter(s)
            writer.writeheader()
            for row in query_data['rows']:
                for k, v in row.iteritems():
                    if isinstance(
                            v,
                            numbers.Number) and (v > 1000 * 1000 * 1000 * 100):
                        row[k] = datetime.datetime.fromtimestamp(v / 1000.0)

                writer.writerow(row)

            return make_response(s.getvalue(), 200,
                                 {'Content-Type': "text/csv; charset=UTF-8"})
        else:
            abort(404)
Пример #2
0
    def get(self, query_id, query_result_id=None):
        if not query_result_id:
            query = models.Query.get(models.Query.id == query_id)
            if query:
                query_result_id = query._data['latest_query_data']

        query_result = query_result_id and data_manager.get_query_result_by_id(query_result_id)
        if query_result:
            s = cStringIO.StringIO()

            query_data = json.loads(query_result.data)
            writer = csv.DictWriter(s, fieldnames=[col['name'] for col in query_data['columns']])
            writer.writer = utils.UnicodeWriter(s)
            writer.writeheader()
            for row in query_data['rows']:
                for k, v in row.iteritems():
                    if isinstance(v, numbers.Number) and (v > 1000 * 1000 * 1000 * 100):
                        row[k] = datetime.datetime.fromtimestamp(v/1000.0)

                writer.writerow(row)

            return make_response(s.getvalue(), 200, {'Content-Type': "text/csv; charset=UTF-8"})
        else:
            abort(404)
Пример #3
0
 def get(self, query_result_id):
     query_result = data_manager.get_query_result_by_id(query_result_id)
     if query_result:
         return {'query_result': query_result.to_dict(parse_data=True)}
     else:
         abort(404)
Пример #4
0
 def get(self, query_result_id):
     query_result = data_manager.get_query_result_by_id(query_result_id)
     if query_result:
         return {'query_result': query_result.to_dict(parse_data=True)}
     else:
         abort(404)