Beispiel #1
0
 def test_load_plugins(self):
     """Verify the main model loads available plugins"""
     plugin_list = model.load_plugins()
     for plugin in plugin_list:
         plugin_instance = plugin[1]
         self.assertTrue(
             issubclass(plugin_instance, abstractplugin.AbstractPlugin))
 def get_available_plugins(self):
     """Returns a tuple of available NDIToolbox plugins:
     (plugin_names, plugin_classes)
     """
     available_plugins = mainmodel.load_plugins()
     plugin_names = [plugin[0] for plugin in available_plugins]
     plugin_classes = [plugin[1] for plugin in available_plugins]
     return plugin_names, plugin_classes
Beispiel #3
0
 def get_plugin_class(self):
     """Returns the plugin class with the specified name, or None if not found."""
     available_plugins = mainmodel.load_plugins()
     plugin_names = [plugin[0] for plugin in available_plugins]
     plugin_classes = [plugin[1] for plugin in available_plugins]
     if self.toolkit in plugin_names:
         plugin_class = plugin_classes[plugin_names.index(self.toolkit)]
     return plugin_class
 def get_available_plugins(self):
     """Returns a tuple of available NDIToolbox plugins:
     (plugin_names, plugin_classes)
     """
     available_plugins = mainmodel.load_plugins()
     plugin_names = [plugin[0] for plugin in available_plugins]
     plugin_classes = [plugin[1] for plugin in available_plugins]
     return plugin_names, plugin_classes
 def get_normalize_plugin(self):
     """Returns NDIToolbox's NormalizePlugin plugin"""
     normalize_plugin_name = "NormalizePlugin"
     plugin_list = model.load_plugins()
     plugin_names = [plugin[0] for plugin in plugin_list]
     plugin_classes = [plugin[1] for plugin in plugin_list]
     # Ensure that the normalize plugin was found
     self.assertTrue(normalize_plugin_name in plugin_names)
     return plugin_classes[plugin_names.index(normalize_plugin_name)]
 def test_get_plugins(self):
     """Verify a list of available plugins is returned"""
     expected_plugin_list = mainmodel.load_plugins()
     expected_plugin_names = [plugin[0] for plugin in expected_plugin_list]
     retrieved_plugin_list = self.basic_model.get_plugins()
     self.assertEqual(len(expected_plugin_list), len(retrieved_plugin_list))
     for plugin in retrieved_plugin_list:
         plugin_name = plugin[0]
         plugin_instance = plugin[1]
         self.assertTrue(plugin_name in expected_plugin_names)
         self.assertTrue(issubclass(plugin_instance, abstractplugin.AbstractPlugin))
Beispiel #7
0
 def test_get_plugins(self):
     """Verify a list of available plugins is returned"""
     expected_plugin_list = mainmodel.load_plugins()
     expected_plugin_names = [plugin[0] for plugin in expected_plugin_list]
     retrieved_plugin_list = self.basic_model.get_plugins()
     self.assertEqual(len(expected_plugin_list), len(retrieved_plugin_list))
     for plugin in retrieved_plugin_list:
         plugin_name = plugin[0]
         plugin_instance = plugin[1]
         self.assertTrue(plugin_name in expected_plugin_names)
         self.assertTrue(
             issubclass(plugin_instance, abstractplugin.AbstractPlugin))
 def test_load_plugins(self):
     """Verify the main model loads available plugins"""
     plugin_list = model.load_plugins()
     for plugin in plugin_list:
         plugin_instance = plugin[1]
         self.assertTrue(issubclass(plugin_instance, abstractplugin.AbstractPlugin))
Beispiel #9
0
 multiprocessing.freeze_support()
 if len(sys.argv) > 1:
     # Enter headless batch mode - given a list of input files, run a specified toolkit on each in turn
     print("\nNDIToolbox Batch Mode")
     parser = argparse.ArgumentParser(description='Run NDIToolbox toolkit in batch mode')
     parser.add_argument('-t', '--toolkit', help='Name of toolkit to run')
     parser.add_argument('-c', '--toolkit_config', help='Config file for toolkit')
     parser.add_argument('-f', '--filetype', help='Specify type of input file (default: guess from file extension)')
     parser.add_argument('-i', '--input_files', nargs=argparse.REMAINDER, help='Specify input file or files')
     parser.add_argument('-s', '--save_output', action='store_true', default=False,
                         help="Save plugin output to new HDF5 data file")
     parser.add_argument('-m', '--multiprocess', action='store_true', default=False,
                         help="Use multiple simultaneous processes for analysis")
     args = parser.parse_args()
     mainmodel.MainModel.check_user_path()
     available_plugins = mainmodel.load_plugins()
     available_plugins_names = [plugin[0] for plugin in available_plugins]
     if args.toolkit and args.toolkit not in available_plugins_names:
         print("** Unable to locate plugin '{0}'.  Available plugins:".format(args.toolkit))
         for plugin_name in available_plugins_names:
             print("\t{0}".format(plugin_name))
         sys.exit(1)
     workers = multiprocessing.Pool()
     if args.multiprocess:
         print("Using multiprocessing mode, {0} simultaneous processes".format(multiprocessing.cpu_count()))
     if args.input_files:
         for _f in args.input_files:
                 paths = glob.glob(_f)
                 for _p in paths:
                     if not args.multiprocess:
                         print("\nProcessing {0}...".format(_p))
Beispiel #10
0
                     nargs=argparse.REMAINDER,
                     help='Specify input file or files')
 parser.add_argument('-s',
                     '--save_output',
                     action='store_true',
                     default=False,
                     help="Save plugin output to new HDF5 data file")
 parser.add_argument(
     '-m',
     '--multiprocess',
     action='store_true',
     default=False,
     help="Use multiple simultaneous processes for analysis")
 args = parser.parse_args()
 mainmodel.MainModel.check_user_path()
 available_plugins = mainmodel.load_plugins()
 available_plugins_names = [plugin[0] for plugin in available_plugins]
 if args.toolkit and args.toolkit not in available_plugins_names:
     print(
         "** Unable to locate plugin '{0}'.  Available plugins:".format(
             args.toolkit))
     for plugin_name in available_plugins_names:
         print("\t{0}".format(plugin_name))
     sys.exit(1)
 workers = multiprocessing.Pool()
 if args.multiprocess:
     print("Using multiprocessing mode, {0} simultaneous processes".
           format(multiprocessing.cpu_count()))
 if args.input_files:
     for _f in args.input_files:
         paths = glob.glob(_f)