Пример #1
0
  def _serve_graph(self, query_params):
    """Given a single run, return the graph definition in json format."""
    run = query_params.get('run', None)
    if run is None:
      self.send_error(400, 'query parameter "run" is required')
      return

    try:
      graph = self._multiplexer.Graph(run)
    except ValueError:
      self.send_response(404)
      return

    limit_attr_size = query_params.get('limit_attr_size', None)
    if limit_attr_size is not None:
      try:
        limit_attr_size = int(limit_attr_size)
      except ValueError:
        self.send_error(400, 'The query param `limit_attr_size` must be'
                        'an integer')
        return

    large_attrs_key = query_params.get('large_attrs_key', None)
    try:
      process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                         large_attrs_key)
    except ValueError as e:
      self.send_error(400, e.message)
      return

    # Serialize the graph to pbtxt format.
    graph_pbtxt = str(graph)
    # Gzip it and send it to the user.
    self._send_gzip_response(graph_pbtxt, 'text/plain')
Пример #2
0
    def _serve_graph(self, request):
        """Given a single run, return the graph definition in json format."""
        run = request.args.get('run', None)
        if run is None:
            return http_util.Respond(request,
                                     'query parameter "run" is required',
                                     'text/plain', 400)

        try:
            graph = self._multiplexer.Graph(run)
        except ValueError:
            return http_util.Respond(request, '404 Not Found', code=404)

        limit_attr_size = request.args.get('limit_attr_size', None)
        if limit_attr_size is not None:
            try:
                limit_attr_size = int(limit_attr_size)
            except ValueError:
                return http_util.Respond(
                    request,
                    'query parameter `limit_attr_size` must be integer',
                    'text/plain', 400)

        large_attrs_key = request.args.get('large_attrs_key', None)
        try:
            process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                               large_attrs_key)
        except ValueError as e:
            return http_util.Respond(request, e.message, 'text/plain', 400)

        return http_util.Respond(request, str(graph),
                                 'text/x-protobuf')  # pbtxt
Пример #3
0
    def _serve_graph(self, query_params):
        """Given a single run, return the graph definition in json format."""
        run = query_params.get('run', None)
        if run is None:
            self.respond('query parameter "run" is required', 'text/plain',
                         400)
            return

        try:
            graph = self._multiplexer.Graph(run)
        except ValueError:
            self.send_response(404)
            return

        limit_attr_size = query_params.get('limit_attr_size', None)
        if limit_attr_size is not None:
            try:
                limit_attr_size = int(limit_attr_size)
            except ValueError:
                self.respond(
                    'query parameter `limit_attr_size` must be integer',
                    'text/plain', 400)
                return

        large_attrs_key = query_params.get('large_attrs_key', None)
        try:
            process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                               large_attrs_key)
        except ValueError as e:
            self.respond(e.message, 'text/plain', 400)
            return

        self.respond(str(graph), 'text/x-protobuf')  # pbtxt
Пример #4
0
  def _serve_graph(self, query_params):
    """Given a single run, return the graph definition in json format."""
    run = query_params.get('run', None)
    if run is None:
      self.respond('query parameter "run" is required', 'text/plain', 400)
      return

    try:
      graph = self._multiplexer.Graph(run)
    except ValueError:
      self.send_response(404)
      return

    limit_attr_size = query_params.get('limit_attr_size', None)
    if limit_attr_size is not None:
      try:
        limit_attr_size = int(limit_attr_size)
      except ValueError:
        self.respond('query parameter `limit_attr_size` must be integer',
                     'text/plain', 400)
        return

    large_attrs_key = query_params.get('large_attrs_key', None)
    try:
      process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                         large_attrs_key)
    except ValueError as e:
      self.respond(e.message, 'text/plain', 400)
      return

    self.respond(str(graph), 'text/x-protobuf')  # pbtxt
Пример #5
0
  def _serve_graph(self, request):
    """Given a single run, return the graph definition in json format."""
    run = request.args.get('run', None)
    if run is None:
      return http_util.Respond(
          request, 'query parameter "run" is required', 'text/plain', 400)

    try:
      graph = self._multiplexer.Graph(run)
    except ValueError:
      return http_util.Respond(
          request, '404 Not Found', 'text/plain; charset=UTF-8', code=404)

    limit_attr_size = request.args.get('limit_attr_size', None)
    if limit_attr_size is not None:
      try:
        limit_attr_size = int(limit_attr_size)
      except ValueError:
        return http_util.Respond(
            request, 'query parameter `limit_attr_size` must be integer',
            'text/plain', 400)

    large_attrs_key = request.args.get('large_attrs_key', None)
    try:
      process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                         large_attrs_key)
    except ValueError as e:
      return http_util.Respond(request, e.message, 'text/plain', 400)

    return http_util.Respond(request, str(graph), 'text/x-protobuf')  # pbtxt
Пример #6
0
 def graph_impl(self, run, limit_attr_size=None, large_attrs_key=None):
   """Result of the form `(body, mime_type)`, or `None` if no graph exists."""
   try:
     graph = self._multiplexer.Graph(run)
   except ValueError:
     return None
   # This next line might raise a ValueError if the limit parameters
   # are invalid (size is negative, size present but key absent, etc.).
   process_graph.prepare_graph_for_ui(graph, limit_attr_size, large_attrs_key)
   return (str(graph), 'text/x-protobuf')  # pbtxt
Пример #7
0
 def graph_impl(self, run, limit_attr_size=None, large_attrs_key=None):
     """Result of the form `(body, mime_type)`, or `None` if no graph exists."""
     try:
         graph = self._multiplexer.Graph(run)
     except ValueError:
         return None
     # This next line might raise a ValueError if the limit parameters
     # are invalid (size is negative, size present but key absent, etc.).
     process_graph.prepare_graph_for_ui(graph, limit_attr_size,
                                        large_attrs_key)
     return (str(graph), 'text/x-protobuf')  # pbtxt