普通文本  |  38行  |  1.11 KB

# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import urllib

import webapp2

from common import jinja
from common import query_filter


class Trace(webapp2.RequestHandler):

  def get(self):
    try:
      filters = query_filter.Filters(self.request)
    except ValueError as e:
      self.response.headers['Content-Type'] = 'application/json'
      self.response.out.write({'error': str(e)})
      return

    query_parameters = []
    for filter_name, filter_values in filters.iteritems():
      if filter_name == 'start_time':
        query_parameters.append(('start_time', filter_values))
      elif filter_name == 'end_time':
        query_parameters.append(('end_time', filter_values))
      else:
        for filter_value in filter_values:
          query_parameters.append((filter_name, filter_value))
    template_values = {
        'query_string': urllib.urlencode(query_parameters),
    }

    template = jinja.ENVIRONMENT.get_template('trace.html')
    self.response.out.write(template.render(template_values))