Warning

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( object ): """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 "Certified 1 Repositories %s" % trailing_string if filter == self.filters.CERTIFIED_LEVEL_TWO: return "Certified 2 Repositories %s" % trailing_string if filter == self.filters.CERTIFIED_LEVEL_ONE_SUITES: return "Certified 1 Repository Suites %s" % trailing_string if filter == self.filters.CERTIFIED_LEVEL_TWO_SUITES: return "Certified 2 Repository Suites %s" % trailing_string if filter == self.filters.SUITES: return "Repository Suites %s" % trailing_string return "%s %s" % ( 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_key, valid_filter in self.filters.items(): 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 )