def setUp(self): super(DbTestCase, self).setUp() db_path = os.path.join(self.get_temp_dir(), 'DbTestCase.sqlite') self._db_connection_provider = (lambda: db.Connection( sqlite3.connect(db_path, isolation_level=None))) with contextlib.closing(self.connect()) as db_conn: schema = db.Schema(db_conn) schema.create_tables() schema.create_indexes()
def setUp(self): super(DbTestCase, self).setUp() db_path = os.path.join(self.get_temp_dir(), 'DbTestCase.sqlite') self._db_connection_provider = lambda: sqlite3.connect(db_path) with contextlib.closing(self._db_connection_provider()) as conn: with conn: schema = db.Schema(conn) schema.create_tables() schema.create_indexes()
def standard_tensorboard_wsgi(logdir, purge_orphaned_data, reload_interval, plugins, db_uri="", assets_zip_provider=None, path_prefix="", window_title=""): """Construct a TensorBoardWSGIApp with standard plugins and multiplexer. Args: logdir: The path to the directory containing events files. purge_orphaned_data: Whether to purge orphaned data. reload_interval: The interval at which the backend reloads more data in seconds. plugins: A list of constructor functions for TBPlugin subclasses. path_prefix: A prefix of the path when app isn't served from root. db_uri: A String containing the URI of the SQL database for persisting data, or empty for memory-only mode. assets_zip_provider: See TBContext documentation for more information. If this value is not specified, this function will attempt to load the `tensorboard.default` module to use the default. This behavior might be removed in the future. window_title: A string specifying the the window title. Returns: The new TensorBoard WSGI application. """ if assets_zip_provider is None: from tensorboard import default assets_zip_provider = default.get_assets_zip_provider() multiplexer = event_multiplexer.EventMultiplexer( size_guidance=DEFAULT_SIZE_GUIDANCE, tensor_size_guidance=DEFAULT_TENSOR_SIZE_GUIDANCE, purge_orphaned_data=purge_orphaned_data) db_module, db_connection_provider = get_database_info(db_uri) if db_connection_provider is not None: with contextlib.closing(db_connection_provider()) as db_conn: schema = db.Schema(db_conn) schema.create_tables() schema.create_indexes() plugin_name_to_instance = {} context = base_plugin.TBContext( db_module=db_module, db_connection_provider=db_connection_provider, db_uri=db_uri, logdir=logdir, multiplexer=multiplexer, assets_zip_provider=assets_zip_provider, plugin_name_to_instance=plugin_name_to_instance, window_title=window_title) plugin_instances = [constructor(context) for constructor in plugins] for plugin_instance in plugin_instances: plugin_name_to_instance[plugin_instance.plugin_name] = plugin_instance return TensorBoardWSGIApp(logdir, plugin_instances, multiplexer, reload_interval, path_prefix)
def connect_db(self): """Establishes a PEP 249 DB connection. :rtype: db.Connection """ if self._db_connection_provider is None: db_path = os.path.join(self.get_temp_dir(), 'TestCase.sqlite') self._db_connection_provider = (lambda: db.Connection( sqlite3.connect(db_path, isolation_level=None))) with contextlib.closing(self._db_connection_provider()) as db_conn: schema = db.Schema(db_conn) schema.create_tables() schema.create_indexes() return self._db_connection_provider()
def startDbBasedServer(self, temp_dir): self.db_uri = 'sqlite:' + os.path.join(temp_dir, 'db.sqlite') db_module, db_connection_provider = application.get_database_info( self.db_uri) if db_connection_provider is not None: with contextlib.closing(db_connection_provider()) as db_conn: schema = db.Schema(db_conn) schema.create_tables() schema.create_indexes() context = base_plugin.TBContext( assets_zip_provider=get_test_assets_zip_provider(), db_module=db_module, db_connection_provider=db_connection_provider, db_uri=self.db_uri, window_title='title foo') self.db_based_plugin = core_plugin.CorePlugin(context) app = application.TensorBoardWSGI([self.db_based_plugin]) self.db_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
def standard_tensorboard_wsgi(logdir, purge_orphaned_data, reload_interval, plugins, db_uri="", assets_zip_provider=None, path_prefix=""): """Construct a TensorBoardWSGIApp with standard plugins and multiplexer. Args: logdir: The path to the directory containing events files. purge_orphaned_data: Whether to purge orphaned data. reload_interval: The interval at which the backend reloads more data in seconds. plugins: A list of constructor functions for TBPlugin subclasses. path_prefix: A prefix of the path when app isn't served from root. db_uri: A String containing the URI of the SQL database for persisting data, or empty for memory-only mode. assets_zip_provider: Delegates to TBContext or uses default if None. Returns: The new TensorBoard WSGI application. """ multiplexer = event_multiplexer.EventMultiplexer( size_guidance=DEFAULT_SIZE_GUIDANCE, tensor_size_guidance=DEFAULT_TENSOR_SIZE_GUIDANCE, purge_orphaned_data=purge_orphaned_data) db_module, db_connection_provider = get_database_info(db_uri) if db_connection_provider is not None: with contextlib.closing(db_connection_provider()) as db_conn: schema = db.Schema(db_conn) schema.create_tables() schema.create_indexes() context = base_plugin.TBContext( db_module=db_module, db_connection_provider=db_connection_provider, logdir=logdir, multiplexer=multiplexer, assets_zip_provider=(assets_zip_provider or get_default_assets_zip_provider())) plugins = [constructor(context) for constructor in plugins] return TensorBoardWSGIApp(logdir, plugins, multiplexer, reload_interval, path_prefix)