##// END OF EJS Templates
jroplotter.py updated
Miguel Valdez -
r703:b448cc54ea50
parent child
Show More
@@ -1,15 +1,21
1 1 Prerequisites:
2 2
3 Core:
3 4 -numpy 1.8.0
4 5 -scipy
5 6 -math
6 7 -matplotlib
7 8 -h5py
8 9 -ftplib
9 -paramiko and scp (optional for using SendTFilesToServer)
10 -stuffr (optional for using jroIO_hf)
11 -PyQt4 (for using GUI)
10 -paramiko (optional for SendTFilesToServer)
11 -stuffr (optional for jroIO_hf)
12 12 -pyfits (Fits data)
13
14 GUI:
15 -PyQt4
16 -wxPython
17 -msgpack-numpy
18 -cPickle
13 19
14 20 Signal Chain Installation:
15 21
@@ -3,8 +3,5 from jroplot_spectra import *
3 3 from jroplot_heispectra import *
4 4 from jroplot_correlation import *
5 5 from jroplot_parameters import *
6 try:
7 from jroplotter import *
8 except ImportError, e:
9 print e
6 from jroplotter import *
10 7 No newline at end of file
@@ -72,6 +72,8 class PlotterManager(Thread):
72 72
73 73 Thread.__init__(self)
74 74
75 self.setDaemon(True)
76
75 77 self.__queue = plotter_queue
76 78
77 79 self.plotInstanceDict = {}
@@ -85,7 +87,7 class PlotterManager(Thread):
85 87 break
86 88
87 89 if self.__queue.empty():
88 sleep(0.5)
90 sleep(0.1)
89 91 continue
90 92
91 93 serial_data = self.__queue.get(True)
@@ -4,9 +4,8 Created on Jul 15, 2014
4 4 @author: Miguel Urco
5 5 '''
6 6 from serializer import DynamicSerializer
7
8 PICKLE_SERIALIZER = DynamicSerializer('cPickle')
9 MSGPACK_SERIALIZER = DynamicSerializer('msgpack')
7
8 DEFAULT_SERIALIZER = None #'cPickle', 'msgpack', "yaml"
10 9
11 10 from schainpy.model.data.jrodata import *
12 11
@@ -75,54 +74,42 def dict2Obj(myDict):
75 74
76 75 return myObj
77 76
78 def dict2Serial(myDict, serializer='msgpack'):
79
80 if serializer == 'cPickle':
81 SERIALIZER = PICKLE_SERIALIZER
82 else:
83 SERIALIZER = MSGPACK_SERIALIZER
84
77 def dict2Serial(myDict, serializer=DEFAULT_SERIALIZER):
78
79 SERIALIZER = DynamicSerializer(serializer)
80
85 81 mySerial = SERIALIZER.dumps(myDict)
86
82
87 83 return mySerial
88
89 def serial2Dict(mySerial, serializer='msgpack'):
90
91 if serializer == 'cPickle':
92 SERIALIZER = PICKLE_SERIALIZER
93 else:
94 SERIALIZER = MSGPACK_SERIALIZER
95
84
85 def serial2Dict(mySerial, serializer=DEFAULT_SERIALIZER):
86
87 SERIALIZER = DynamicSerializer(serializer)
88
96 89 myDict = SERIALIZER.loads(mySerial)
97
90
98 91 return myDict
99
100 def obj2Serial(myObj, serializer='msgpack', **kwargs):
101
102 if serializer == 'cPickle':
103 SERIALIZER = PICKLE_SERIALIZER
104 else:
105 SERIALIZER = MSGPACK_SERIALIZER
106
92
93 def obj2Serial(myObj, serializer=DEFAULT_SERIALIZER, **kwargs):
94
95 SERIALIZER = DynamicSerializer(serializer)
96
107 97 myDict = obj2Dict(myObj, **kwargs)
108 98 mySerial = dict2Serial(myDict, serializer)
109
99
110 100 return mySerial
111
112 def serial2Obj(mySerial, metadataDict = {}, serializer='msgpack'):
113
114 if serializer == 'cPickle':
115 SERIALIZER = PICKLE_SERIALIZER
116 else:
117 SERIALIZER = MSGPACK_SERIALIZER
118
101
102 def serial2Obj(mySerial, metadataDict = {}, serializer=DEFAULT_SERIALIZER):
103
104 SERIALIZER = DynamicSerializer(serializer)
105
119 106 myDataDict = serial2Dict(mySerial, serializer)
120
107
121 108 if not metadataDict:
122 109 myObj = dict2Obj(myDataDict)
123 110 return myObj
124
111
125 112 metadataDict.update(myDataDict)
126 113 myObj = dict2Obj(metadataDict)
127
114
128 115 return myObj
@@ -4,13 +4,22 Created on Jul 17, 2014
4 4 @author: roj-idl71
5 5 '''
6 6
7 import cPickle
8 import msgpack_numpy
9 import jsonpickle
10 import yaml
7 DEFAULT_SERIALIZER = None
11 8
12 # import JROMsgpack
13 # import JROJsonpickle
9 try:
10 import cPickle
11 DEFAULT_SERIALIZER = 'cPickle'
12 except:
13 pass
14
15 try:
16 import msgpack_numpy
17 DEFAULT_SERIALIZER = 'msgpack'
18 except:
19 pass
20
21 # import jsonpickle
22 # import yaml
14 23
15 24 class Serializer(object):
16 25
@@ -48,42 +57,48 class msgpackSerializer(Serializer):
48 57 def loads(self, obj, **kwargs):
49 58 return self.serializer.unpackb(obj)
50 59
51 class jsonpickleSerializer(Serializer):
52
53 def __init__(self):
54
55 self.serializer = jsonpickle
56
57 def dumps(self, obj, **kwargs):
58 return self.serializer.encode(obj, **kwargs)
59
60 def loads(self, obj, **kwargs):
61 return self.serializer.decode(obj, **kwargs)
62
63 class yamlSerializer(Serializer):
64
65 def __init__(self):
66
67 self.serializer = yaml
68
69 def dumps(self, obj, **kwargs):
70 return self.serializer.dump(obj, **kwargs)
71
72 def loads(self, obj, **kwargs):
73 return self.serializer.load(obj, **kwargs)
60 # class jsonpickleSerializer(Serializer):
61 #
62 # def __init__(self):
63 #
64 # self.serializer = jsonpickle
65 #
66 # def dumps(self, obj, **kwargs):
67 # return self.serializer.encode(obj, **kwargs)
68 #
69 # def loads(self, obj, **kwargs):
70 # return self.serializer.decode(obj, **kwargs)
71 #
72 # class yamlSerializer(Serializer):
73 #
74 # def __init__(self):
75 #
76 # self.serializer = yaml
77 #
78 # def dumps(self, obj, **kwargs):
79 # return self.serializer.dump(obj, **kwargs)
80 #
81 # def loads(self, obj, **kwargs):
82 # return self.serializer.load(obj, **kwargs)
74 83
75 84 class DynamicSerializer(Serializer):
76 85
77 def __init__(self, mode = 'cPickle'):
86 def __init__(self, module = None):
78 87
88 if not DEFAULT_SERIALIZER:
89 raise ImportError, "Install a python serializer like cPickle or msgpack"
90
91 if not mode:
92 mode == DEFAULT_SERIALIZER
93
79 94 if mode == 'cPickle':
80 95 self.serializer = cPickleSerializer()
81
82 if mode == 'jsonpickle':
83 self.serializer = jsonpickleSerializer()
84
85 if mode == 'yaml':
86 self.serializer = yamlSerializer()
96 #
97 # if mode == 'jsonpickle':
98 # self.serializer = jsonpickleSerializer()
99 #
100 # if mode == 'yaml':
101 # self.serializer = yamlSerializer()
87 102
88 103 if mode == 'msgpack':
89 104 self.serializer = msgpackSerializer()
General Comments 0
You need to be logged in to leave comments. Login now