Merge pull request #14656 from jmchilton/shed_app_2

ToolShedApp for more correct typing in tool shed code.
This commit is contained in:
John Chilton
2022-09-19 18:17:15 -04:00
committed by GitHub
4 changed files with 21 additions and 4 deletions
@@ -12,6 +12,7 @@ from galaxy.web.form_builder import SelectField
from tool_shed.metadata import metadata_generator
from tool_shed.repository_types import util as rt_util
from tool_shed.repository_types.metadata import TipOnly
from tool_shed.structured_app import ToolShedApp
from tool_shed.util import (
basic_util,
common_util,
@@ -28,7 +29,7 @@ log = logging.getLogger(__name__)
class RepositoryMetadataManager(metadata_generator.MetadataGenerator):
def __init__(
self,
app,
app: ToolShedApp,
user,
repository=None,
changeset_revision=None,
+12
View File
@@ -0,0 +1,12 @@
from typing import TYPE_CHECKING
from galaxy.structured_app import BasicSharedApp
if TYPE_CHECKING:
from tool_shed.repository_types.registry import Registry as RepositoryTypesRegistry
from tool_shed.webapp.model import mapping
class ToolShedApp(BasicSharedApp):
repository_types_registry: "RepositoryTypesRegistry"
model: "mapping.ToolShedModelMapping"
+4 -2
View File
@@ -1,7 +1,9 @@
from galaxy.structured_app import BasicSharedApp
from galaxy.webapps.base.controller import BaseAPIController
from tool_shed.structured_app import ToolShedApp
class BaseShedAPIController(BaseAPIController):
def __init__(self, app: BasicSharedApp):
app: ToolShedApp
def __init__(self, app: ToolShedApp):
super().__init__(app)
+3 -1
View File
@@ -30,18 +30,20 @@ from galaxy.structured_app import BasicSharedApp
from galaxy.util.dbkeys import GenomeBuilds
from galaxy.web_stack import application_stack_instance
from tool_shed.grids.repository_grid_filter_manager import RepositoryGridFilterManager
from tool_shed.structured_app import ToolShedApp
from tool_shed.util.hgweb_config import hgweb_config_manager
from . import config
log = logging.getLogger(__name__)
class UniverseApplication(BasicSharedApp, SentryClientMixin, HaltableContainer):
class UniverseApplication(ToolShedApp, SentryClientMixin, HaltableContainer):
"""Encapsulates the state of a Universe application"""
def __init__(self, **kwd) -> None:
super().__init__()
self[BasicSharedApp] = self
self[ToolShedApp] = self
log.debug("python path is: %s", ", ".join(sys.path))
self.name = "tool_shed"
# will be overwritten when building WSGI app