Пример #1
0
 def test_metadata(self):
     pb = self.scalar('a', 1.13)
     summary_metadata = pb.value[0].metadata
     plugin_data = summary_metadata.plugin_data
     self.assertEqual(summary_metadata.summary_description, '')
     self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME)
     content = summary_metadata.plugin_data.content
     # There's no content, so successfully parsing is fine.
     metadata.parse_plugin_metadata(content)
Пример #2
0
 def test_explicit__description(self):
     description = 'The first letter of the alphabet.'
     pb = self.scalar('a', 1.13, description=description)
     summary_metadata = pb.value[0].metadata
     self.assertEqual(summary_metadata.summary_description, description)
     plugin_data = summary_metadata.plugin_data
     self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME)
     content = summary_metadata.plugin_data.content
     # There's no content, so successfully parsing is fine.
     metadata.parse_plugin_metadata(content)
Пример #3
0
 def test_metadata(self):
   pb = self.compute_and_check_summary_pb('a', 1.13)
   summary_metadata = pb.value[0].metadata
   plugin_data = summary_metadata.plugin_data
   self.assertEqual(summary_metadata.display_name, 'a')
   self.assertEqual(summary_metadata.summary_description, '')
   self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME)
   content = summary_metadata.plugin_data.content
   # There's no content, so successfully parsing is fine.
   metadata.parse_plugin_metadata(content)
Пример #4
0
 def test_explicit_display_name_and_description(self):
   display_name = '"A"'
   description = 'The first letter of the alphabet.'
   pb = self.compute_and_check_summary_pb('a', 1.13,
                                          display_name=display_name,
                                          description=description)
   summary_metadata = pb.value[0].metadata
   self.assertEqual(summary_metadata.display_name, display_name)
   self.assertEqual(summary_metadata.summary_description, description)
   plugin_data = summary_metadata.plugin_data
   self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME)
   content = summary_metadata.plugin_data.content
   # There's no content, so successfully parsing is fine.
   metadata.parse_plugin_metadata(content)
Пример #5
0
 def test_explicit_display_name_and_description(self):
     display_name = '"A"'
     description = 'The first letter of the alphabet.'
     pb = self.compute_and_check_summary_pb('a',
                                            1.13,
                                            display_name=display_name,
                                            description=description)
     summary_metadata = pb.value[0].metadata
     self.assertEqual(summary_metadata.display_name, display_name)
     self.assertEqual(summary_metadata.summary_description, description)
     plugin_data = summary_metadata.plugin_data
     self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME)
     content = summary_metadata.plugin_data.content
     # There's no content, so successfully parsing is fine.
     metadata.parse_plugin_metadata(content)
Пример #6
0
    def index_impl(self, experiment=None):
        """Return {runName: {tagName: {displayName: ..., description: ...}}}."""
        if self._data_provider:
            mapping = self._data_provider.list_scalars(
                experiment_id=experiment,
                plugin_name=metadata.PLUGIN_NAME,
            )
            result = {run: {} for run in mapping}
            for (run, tag_to_content) in six.iteritems(mapping):
                for (tag, metadatum) in six.iteritems(tag_to_content):
                    description = plugin_util.markdown_to_safe_html(
                        metadatum.description)
                    result[run][tag] = {
                        'displayName': metadatum.display_name,
                        'description': description,
                    }
            return result

        if self._db_connection_provider:
            # Read tags from the database.
            db = self._db_connection_provider()
            cursor = db.execute(
                '''
        SELECT
          Tags.tag_name,
          Tags.display_name,
          Runs.run_name
        FROM Tags
        JOIN Runs
          ON Tags.run_id = Runs.run_id
        WHERE
          Tags.plugin_name = ?
      ''', (metadata.PLUGIN_NAME, ))
            result = collections.defaultdict(dict)
            for row in cursor:
                tag_name, display_name, run_name = row
                result[run_name][tag_name] = {
                    'displayName': display_name,
                    # TODO(chihuahua): Populate the description. Currently, the tags
                    # table does not link with the description table.
                    'description': '',
                }
            return result

        result = collections.defaultdict(lambda: {})
        mapping = self._multiplexer.PluginRunToTagToContent(
            metadata.PLUGIN_NAME)
        for (run, tag_to_content) in six.iteritems(mapping):
            for (tag, content) in six.iteritems(tag_to_content):
                content = metadata.parse_plugin_metadata(content)
                summary_metadata = self._multiplexer.SummaryMetadata(run, tag)
                result[run][tag] = {
                    'displayName':
                    summary_metadata.display_name,
                    'description':
                    plugin_util.markdown_to_safe_html(
                        summary_metadata.summary_description)
                }

        return result
    def index_impl(self, experiment=None):
        """Return {runName: {tagName: {displayName: ..., description:
        ...}}}."""
        if self._data_provider:
            mapping = self._data_provider.list_scalars(
                experiment_id=experiment, plugin_name=metadata.PLUGIN_NAME,
            )
            result = {run: {} for run in mapping}
            for (run, tag_to_content) in six.iteritems(mapping):
                for (tag, metadatum) in six.iteritems(tag_to_content):
                    description = plugin_util.markdown_to_safe_html(
                        metadatum.description
                    )
                    result[run][tag] = {
                        "displayName": metadatum.display_name,
                        "description": description,
                    }
            return result

        result = collections.defaultdict(lambda: {})
        mapping = self._multiplexer.PluginRunToTagToContent(
            metadata.PLUGIN_NAME
        )
        for (run, tag_to_content) in six.iteritems(mapping):
            for (tag, content) in six.iteritems(tag_to_content):
                content = metadata.parse_plugin_metadata(content)
                summary_metadata = self._multiplexer.SummaryMetadata(run, tag)
                result[run][tag] = {
                    "displayName": summary_metadata.display_name,
                    "description": plugin_util.markdown_to_safe_html(
                        summary_metadata.summary_description
                    ),
                }

        return result
Пример #8
0
  def index_impl(self):
    """Return {runName: {tagName: {displayName: ..., description: ...}}}."""
    runs = self._multiplexer.Runs()
    result = {run: {} for run in runs}

    mapping = self._multiplexer.PluginRunToTagToContent(metadata.PLUGIN_NAME)
    for (run, tag_to_content) in six.iteritems(mapping):
      for (tag, content) in six.iteritems(tag_to_content):
        content = metadata.parse_plugin_metadata(content)
        summary_metadata = self._multiplexer.SummaryMetadata(run, tag)
        result[run][tag] = {'displayName': summary_metadata.display_name,
                            'description': plugin_util.markdown_to_safe_html(
                                summary_metadata.summary_description)}

    return result
Пример #9
0
    def index_impl(self):
        """Return {runName: {tagName: {displayName: ..., description: ...}}}."""
        runs = self._multiplexer.Runs()
        result = {run: {} for run in runs}

        mapping = self._multiplexer.PluginRunToTagToContent(
            metadata.PLUGIN_NAME)
        for (run, tag_to_content) in six.iteritems(mapping):
            for (tag, content) in six.iteritems(tag_to_content):
                content = metadata.parse_plugin_metadata(content)
                summary_metadata = self._multiplexer.SummaryMetadata(run, tag)
                result[run][tag] = {
                    'displayName':
                    summary_metadata.display_name,
                    'description':
                    plugin_util.markdown_to_safe_html(
                        summary_metadata.summary_description)
                }

        return result
Пример #10
0
 def index_impl(self, ctx, experiment=None):
     """Return {runName: {tagName: {displayName: ..., description:
     ...}}}."""
     mapping = self._data_provider.list_scalars(
         ctx,
         experiment_id=experiment,
         plugin_name=metadata.PLUGIN_NAME,
     )
     result = {run: {} for run in mapping}
     for (run, tag_to_content) in mapping.items():
         for (tag, metadatum) in tag_to_content.items():
             md = metadata.parse_plugin_metadata(metadatum.plugin_content)
             if not self._version_checker.ok(md.version, run, tag):
                 continue
             description = plugin_util.markdown_to_safe_html(
                 metadatum.description)
             result[run][tag] = {
                 "displayName": metadatum.display_name,
                 "description": description,
             }
     return result
Пример #11
0
  def index_impl(self):
    """Return {runName: {tagName: {displayName: ..., description: ...}}}."""
    if self._db_connection_provider:
      # Read tags from the database.
      db = self._db_connection_provider()
      cursor = db.execute('''
        SELECT
          Tags.tag_name,
          Tags.display_name,
          Runs.run_name
        FROM Tags
        JOIN Runs
          ON Tags.run_id = Runs.run_id
        WHERE
          Tags.plugin_name = ?
      ''', (metadata.PLUGIN_NAME,))
      result = collections.defaultdict(dict)
      for row in cursor:
        tag_name, display_name, run_name = row
        result[run_name][tag_name] = {
            'displayName': display_name,
            # TODO(chihuahua): Populate the description. Currently, the tags
            # table does not link with the description table.
            'description': '',
        }
      return result

    runs = self._multiplexer.Runs()
    result = {run: {} for run in runs}

    mapping = self._multiplexer.PluginRunToTagToContent(metadata.PLUGIN_NAME)
    for (run, tag_to_content) in six.iteritems(mapping):
      for (tag, content) in six.iteritems(tag_to_content):
        content = metadata.parse_plugin_metadata(content)
        summary_metadata = self._multiplexer.SummaryMetadata(run, tag)
        result[run][tag] = {'displayName': summary_metadata.display_name,
                            'description': plugin_util.markdown_to_safe_html(
                                summary_metadata.summary_description)}

    return result