from CCP4PluginScript import CPluginScript class $NAME$(CPluginScript): TASKMODULE = 'utility' # Where this plugin will appear on the gui TASKTITLE = 'Simple wrapper for one program run' # A short title for gui menu TASKNAME = '$NAME$' # Task name - should be same as class name TASKCOMMAND = '' # The command to run the executable TASKVERSION= 0.0 # Version of this plugin COMTEMPLATE = None # The program com file template COMTEMPLATEFILE = None # Name of file containing com file template ''' def __init__(self,parent=None,name=None,workDirectory=''): CPluginScript. __init__(self,parent=parent,name=name) ''' ''' def makeCommandAndScript(self): self.appendCommandScript( ???? ) return 0 ''' #==================================================================================================== # PLUGIN TESTS # See Python documentation on unittest module import unittest class test$NAME$(unittest.TestCase): def setUp(self): # make all background jobs wait for completion # this is essential for unittest to work from CCP4Modules import QTAPPLICATION,PROCESSMANAGER self.app = QTAPPLICATION() PROCESSMANAGER().setWaitForFinished(10000) def tearDown(self): from CCP4Modules import PROCESSMANAGER PROCESSMANAGER().setWaitForFinished(-1) def test_1(self): from CCP4Modules import QTAPPLICATION wrapper = $NAME$(parent=QTAPPLICATION(),name='$NAME$_test1') wrapper.container.loadDataFromXml() def TESTSUITE(): suite = unittest.TestLoader().loadTestsFromTestCase(test$NAME$) return suite def testModule(): suite = TESTSUITE() unittest.TextTestRunner(verbosity=2).run(suite)