1 |
+ |
#!/usr/bin/env python |
2 |
+ |
|
3 |
+ |
class NameSpace: |
4 |
+ |
def __init__(self): |
5 |
+ |
raise RuntimeError("This Class is a namespace, dont instantiate it") |
6 |
+ |
|
7 |
+ |
class Job: |
8 |
+ |
""" |
9 |
+ |
Describes individual job production parameters. |
10 |
+ |
""" |
11 |
+ |
def __init__(self, jtype, nj): |
12 |
+ |
self._job_type = jtype # job type object |
13 |
+ |
self._job_number = nj # job number |
14 |
+ |
self._jn_str = '%06d' % nj # job number string, eg '000014' |
15 |
+ |
|
16 |
+ |
self._stdout = '' # filename for stdout |
17 |
+ |
self._stderr = '' # filename for stderr |
18 |
+ |
|
19 |
+ |
self._cfg_fname = '' # cfg file |
20 |
+ |
self._jdl_fname = '' # JDL filename |
21 |
+ |
self._script_fname = '' # script filename |
22 |
+ |
return |
23 |
+ |
|
24 |
+ |
def __str__(self): |
25 |
+ |
txt = '' |
26 |
+ |
for k in self.__dict__.keys(): |
27 |
+ |
if self.__dict__[k] == None: |
28 |
+ |
txt = txt + k + ' = None\n' |
29 |
+ |
pass |
30 |
+ |
else: |
31 |
+ |
txt = txt + k + ' = ' + self.__dict__[k] + '\n' |
32 |
+ |
pass |
33 |
+ |
pass |
34 |
+ |
return txt |
35 |
+ |
|
36 |
+ |
def type(self): |
37 |
+ |
"""Returns job_type_object.""" |
38 |
+ |
return self._job_type |
39 |
+ |
|
40 |
+ |
def number(self): |
41 |
+ |
""" |
42 |
+ |
Returns 6-digit job number as a string with leading zeros, |
43 |
+ |
e.g. '000123'. |
44 |
+ |
""" |
45 |
+ |
return self._jn_str |
46 |
+ |
|
47 |
+ |
def setStdout(self, fname): |
48 |
+ |
self._stdout = fname |
49 |
+ |
return |
50 |
+ |
|
51 |
+ |
def stdout(self): |
52 |
+ |
return self._stdout |
53 |
+ |
|
54 |
+ |
def setStderr(self, fname): |
55 |
+ |
self._stderr = fname |
56 |
+ |
return |
57 |
+ |
|
58 |
+ |
def stderr(self): |
59 |
+ |
return self._stderr |
60 |
+ |
|
61 |
+ |
def setConfigFilename(self, fname): |
62 |
+ |
self._cfg_fname = fname |
63 |
+ |
return |
64 |
+ |
|
65 |
+ |
def configFilename(self): |
66 |
+ |
""" |
67 |
+ |
Returns cards filename for the current job. |
68 |
+ |
""" |
69 |
+ |
return self._cfg_fname |
70 |
+ |
|
71 |
+ |
def setScriptFilename(self, fname): |
72 |
+ |
self._script_fname = fname |
73 |
+ |
return |
74 |
+ |
|
75 |
+ |
def scriptFilename(self): |
76 |
+ |
"""Returns job's script filename.""" |
77 |
+ |
return self._script_fname |
78 |
+ |
|
79 |
+ |
def setJdlFilename(self, fname): |
80 |
+ |
self._jdl_fname = fname |
81 |
+ |
return |
82 |
+ |
|
83 |
+ |
def jdlFilename(self): |
84 |
+ |
"""Returns job's JDL filename.""" |
85 |
+ |
return self._jdl_fname |