Source code for galaxy.tools.actions.data_manager

from __init__ import DefaultToolAction

import logging
log = logging.getLogger( __name__ )

class DataManagerToolAction( DefaultToolAction ):
    """Tool action used for Data Manager Tools"""

    def execute( self, tool, trans, **kwds ):
        rval = super( DataManagerToolAction, self ).execute( tool, trans, **kwds )
        if isinstance( rval, tuple ) and len( rval ) == 2 and isinstance( rval[0], trans.app.model.Job ):
            assoc = trans.app.model.DataManagerJobAssociation( job=rval[0], data_manager_id=tool.data_manager_id  )
            trans.sa_session.add( assoc )
            trans.sa_session.flush()
        else:
            log.error( "Got bad return value from DefaultToolAction.execute(): %s" % ( rval ) )
        return rval