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)
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)
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)
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)
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
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
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
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
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