Package iceprod :: Package server :: Package plugins
[hide private]
[frames] | no frames]

Source Code for Package iceprod.server.plugins

 1  """ 
 2   Interface for configuring pre/post icetray scripts 
 3   
 4   copyright  (c) 2005 the icecube collaboration 
 5   
 6   @version: $Revision: $ 
 7   @date: $Date: $ 
 8   @author: Juan Carlos Diaz Velez <juancarlos@icecube.wisc.edu> 
 9  """ 
10  import os 
11  import glob 
12  import types 
13  from iceprod.server import grid 
14   
15  import condor 
16  import pbs 
17  import sge 
18  import swegrid 
19   
20  __version__ = 'trunk' 
21   
22  plugins = {} 
23   
24  plugins['condor']       = condor.Condor 
25  plugins['condor_nfs']   = condor.CondorNFS 
26  plugins['condor_dag']   = condor.CondorDAG 
27  plugins['condor_g']     = condor.CondorG 
28  plugins['pbs']          = pbs.Pbs 
29  #plugins['pbs_nfs']     = pbs.PbsNFS 
30  plugins['sge']          = sge.SGE 
31  plugins['swegrid']      = swegrid.SweGrid 
32   
33  sep = '.' 
34   
35 -def dirname(path):
36 return sep.join(path.split(sep)[:-1])
37
38 -def basename(path):
39 return path.split(sep)[-1]
40
41 -def get_plugin(pname):
42 if plugins.has_key(pname): 43 return plugins[pname] 44 else: 45 modname = 'iceprod.server.plugins.' + dirname(pname) 46 classname = basename(pname) 47 mod = __import__(modname, globals(),locals(),[classname]) 48 plugins[pname] = getattr(mod,classname) 49 return plugins[pname]
50
51 -def has_plugin(pname):
52 return plugins.has_key(pname)
53
54 -def configured_plugins():
55 return plugins.keys()
56