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