mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Better data managers interface?
This commit is contained in:
@@ -195,8 +195,8 @@ def reload_data_managers(app, **kwargs):
|
||||
log.debug("Executing data managers reload on '%s'", app.config.server_name)
|
||||
app._configure_tool_data_tables(from_shed_config=False)
|
||||
reload_tool_data_tables(app)
|
||||
app.data_managers = DataManagers(app)
|
||||
app.data_managers.increment_reload_count()
|
||||
reload_count = app.data_managers._reload_count + 1
|
||||
app.data_managers = DataManagers(app, None, reload_count)
|
||||
if hasattr(app, "tool_cache"):
|
||||
app.tool_cache.reset_status()
|
||||
if hasattr(app, "watchers"):
|
||||
|
||||
@@ -32,13 +32,14 @@ log = logging.getLogger(__name__)
|
||||
class DataManagers(DataManagersInterface):
|
||||
data_managers: Dict[str, "DataManager"]
|
||||
managed_data_tables: Dict[str, "DataManager"]
|
||||
__reload_count: int
|
||||
|
||||
def __init__(self, app: MinimalManagerApp, xml_filename=None):
|
||||
def __init__(self, app: MinimalManagerApp, xml_filename=None, reload_count: Optional[int] = None):
|
||||
self.app = app
|
||||
self.data_managers = {}
|
||||
self.managed_data_tables = {}
|
||||
self.tool_path = None
|
||||
self.__reload_count = 0
|
||||
self.__reload_count = reload_count or 0
|
||||
self.filename = xml_filename or self.app.config.data_manager_config_file
|
||||
for filename in util.listify(self.filename):
|
||||
if not filename:
|
||||
@@ -51,9 +52,6 @@ class DataManagers(DataManagersInterface):
|
||||
if exc.errno != errno.ENOENT or self.app.config.is_set("shed_data_manager_config_file"):
|
||||
raise
|
||||
|
||||
def increment_reload_count(self) -> None:
|
||||
self.__reload_count += 1
|
||||
|
||||
@property
|
||||
def _reload_count(self) -> int:
|
||||
return self.__reload_count
|
||||
|
||||
Reference in New Issue
Block a user