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

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

Repository I/O implementation (suite).

File size: 2.0 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 Tree():
31
32        def __init__(self,**kw):
33                pass
34
35        def __str__(self):
36                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
37
38class Simulation():
39
40        def __init__(self,**kw):
41                self.exec_start_date=kw.get("exec_start_date")
42                self.exec_end_date=kw.get("exec_end_date")
43                self.status=kw.get("status")
44                self.name=kw.get("name")
45
46        def __str__(self):
47                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
48
49class Message():
50        file=None
51
52        def __init__(self,JSON_KW):
53                for key in JSON_KW:
54                        setattr(self, key, JSON_KW[key])
55
56        def __str__(self):
57                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
58
59class SimulationTree(Tree):
60
61        def __init__(self,**kw):
62                dg = nx.DiGraph()
63
64        def update(cls):
65                dg.add_edge('a','b')
66       
67        def print__TODO(cls):
68                print dg.edges() 
69
70        def write(cls):
71                pickle.dump(dg, open('/tmp/graph.txt', 'w'))
72
73        def read(cls):
74                dg = pickle.load(open('/tmp/graph.txt'))
75
76        def __str__(self):
77                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
78
79class SimulationTrees():
80
81        def __init__(self,**kw):
82                self.sample=kw.get("sample",[])
83
84        def __str__(self):
85                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()])
Note: See TracBrowser for help on using the repository browser.