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['sge_dag']      = sge.SgeDAG 
32  plugins['swegrid']      = swegrid.SweGrid 
33   
34  sep = '.' 
35   
36 -def dirname(path):
37 return sep.join(path.split(sep)[:-1])
38
39 -def basename(path):
40 return path.split(sep)[-1]
41
42 -def get_plugin(pname):
43 if plugins.has_key(pname): 44 return plugins[pname] 45 else: 46 modname = 'iceprod.server.plugins.' + dirname(pname) 47 classname = basename(pname) 48 mod = __import__(modname, globals(),locals(),[classname]) 49 plugins[pname] = getattr(mod,classname) 50 return plugins[pname]
51
52 -def has_plugin(pname):
53 return plugins.has_key(pname)
54
55 -def configured_plugins():
56 return plugins.keys()
57