source: trunk/Monitoring/smon/types.py @ 963

Last change on this file since 963 was 879, checked in by jripsl, 11 years ago

Fix heartbeat test.

File size: 2.2 KB
Line 
1# -*- coding: ISO-8859-1 -*-
2
3##################################
4#  @program                smon
5#  @description    simulation monitor
6#  @copyright      Copyright “(c)2009 Centre National de la Recherche Scientifique CNRS.
7#                                                         All Rights Reserved”
8#  @svn_file       $Id: types.py 2599 2013-03-24 19:01:23Z jripsl $
9#  @version                $Rev: 2599 $
10#  @lastrevision   $Date: 2013-03-24 20:01:23 +0100 (Sun, 24 Mar 2013) $
11#  @license                CeCILL (http://dods.ipsl.jussieu.fr/jripsl/smon/LICENSE)
12##################################
13
14import networkx as nx
15import pickle
16
17CSTE_SAMPLE="2.2"
18
19class SMONException(Exception):
20        code=None
21        msg=None
22
23        def __init__(self, code=None,msg=None):
24                self.code=code
25                self.msg=msg
26
27        def __str__(self):
28                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
29
30class MessageNotFoundException(SMONException):
31        pass
32
33class Tree():
34
35        def __init__(self,**kw):
36                pass
37
38        def __str__(self):
39                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
40
41class Simulation():
42
43        def __init__(self,**kw):
44                self.exec_start_date=kw.get("exec_start_date")
45                self.exec_end_date=kw.get("exec_end_date")
46                self.status=kw.get("status")
47                self.name=kw.get("name")
48                self.id=kw.get("id")
49
50        def __str__(self):
51                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
52
53class Message():
54        type=None
55        file=None
56        simuid=None
57        jobid=None
58        timestamp=None
59        crea_date=None
60        command=None
61        body=None
62
63        def __init__(self,JSON_KW):
64                for key in JSON_KW:
65                        setattr(self, key, JSON_KW[key])
66
67        def __str__(self):
68                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
69
70class SimulationTree(Tree):
71
72        def __init__(self,**kw):
73                dg = nx.DiGraph()
74
75        def update(cls):
76                dg.add_edge('a','b')
77       
78        def print__TODO(cls):
79                print dg.edges() 
80
81        def write(cls):
82                pickle.dump(dg, open('/tmp/graph.txt', 'w'))
83
84        def read(cls):
85                dg = pickle.load(open('/tmp/graph.txt'))
86
87        def __str__(self):
88                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
89
90class SimulationTrees():
91
92        def __init__(self,**kw):
93                self.sample=kw.get("sample",[])
94
95        def __str__(self):
96                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
Note: See TracBrowser for help on using the repository browser.