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
30 plugins['sge'] = sge.SGE
31 plugins['sge_dag'] = sge.SgeDAG
32 plugins['swegrid'] = swegrid.SweGrid
33
34 sep = '.'
35
37 return sep.join(path.split(sep)[:-1])
38
40 return path.split(sep)[-1]
41
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
54
57