def Layout(self, request, response):
    """Render the protobuf as a table."""
    self.result = []
    for descriptor, value in self.proxy.ListSetFields():
      name = descriptor.name
      friendly_name = descriptor.friendly_name or name

      # Try to translate the value if there is a special translator for it.
      if self.translator in name:
        try:
          value = self.translator[name](self, request, value)
          if value is not None:
            self.result.append((friendly_name, descriptor.description, value))

          # If the translation fails for whatever reason, just output the string
          # value literally (after escaping)
        except KeyError:
          value = self.FormatFromTemplate(self.translator_error_template,
                                          value=value)
        except Exception as e:  # pylint: disable=broad-except
          logging.warn("Failed to render {0}. Err: {1}".format(name, e))
          value = ""

      else:
        renderer = FindRendererForObject(value)

        self.result.append((friendly_name, descriptor.description,
                            renderer.RawHTML(request)))

    return super(RDFProtoRenderer, self).Layout(request, response)
dataset/ETHPy150Open google/grr/grr/gui/plugins/semantic.py/RDFProtoRenderer.Layout/swapped operands of `in`