This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for tool_shed.grids.repository_grid_filter_manager

import logging

from galaxy.util.bunch import Bunch

log = logging.getLogger(__name__)

[docs]class RepositoryGridFilterManager: """Provides filtered views of the many Tool SHed repository grids.""" filters = Bunch( CERTIFIED_LEVEL_ONE="certified_level_one", CERTIFIED_LEVEL_TWO="certified_level_two", CERTIFIED_LEVEL_ONE_SUITES="certified_level_one_suites", CERTIFIED_LEVEL_TWO_SUITES="certified_level_two_suites", SUITES="suites", )
[docs] def get_grid_title(self, trans, trailing_string="", default=""): filter = self.get_filter(trans) if filter == self.filters.CERTIFIED_LEVEL_ONE: return f"Certified 1 Repositories {trailing_string}" if filter == self.filters.CERTIFIED_LEVEL_TWO: return f"Certified 2 Repositories {trailing_string}" if filter == self.filters.CERTIFIED_LEVEL_ONE_SUITES: return f"Certified 1 Repository Suites {trailing_string}" if filter == self.filters.CERTIFIED_LEVEL_TWO_SUITES: return f"Certified 2 Repository Suites {trailing_string}" if filter == self.filters.SUITES: return f"Repository Suites {trailing_string}" return f"{default} {trailing_string}"
[docs] def get_filter(self, trans): filter = trans.get_cookie(name="toolshedrepogridfilter") return filter or None
[docs] def is_valid_filter(self, filter): if filter is None: return True for valid_filter in self.filters.values(): if filter == valid_filter: return True return False
[docs] def set_filter(self, trans, **kwd): # Set a session cookie value with the selected filter. filter = kwd.get("filter", None) if filter is not None and self.is_valid_filter(filter): trans.set_cookie(value=filter, name="toolshedrepogridfilter") # if the filter is not valid, expire the cookie. trans.set_cookie(value=filter, name="toolshedrepogridfilter", age=-1)