def decode_types(obj): new_obj = obj if isinstance(obj, (tuple, list)): new_obj = type(obj)() for i in obj: new_obj.append(decode_types(i)) elif isinstance(obj, set): new_obj = set() for i in obj: new_obj.add(decode_types(i)) elif isinstance(obj, dict): try: objtype = obj['__dispel4py.type__'] if objtype == 'numpy.ndarray': r = base64.decodestring(obj['data']) return numpy.frombuffer(r, dtype=obj['dtype']) elif objtype == 'obspy.Stream': buf = io.BytesIO() buf.write(base64.b64decode(obj['data'])) st = obread(buf) if 'response' in obj: for tr, resp in zip(st, obj['response']): tr.stats.response = pickle.loads(resp) return st except KeyError: pass # if it's just a normal dictionary then decode recursively new_obj = dict() for k, v in obj.iteritems(): new_obj[k] = decode_types(v) return new_obj
def decode_types(obj): new_obj = obj if isinstance(obj, (tuple, list)): new_obj = type(obj)() for i in obj: new_obj.append(decode_types(i)) elif isinstance(obj, set): new_obj = set() for i in obj: new_obj.add(decode_types(i)) elif isinstance(obj, dict): try: objtype = obj['__dispel4py.type__'] if objtype == 'numpy.ndarray': r = base64.decodestring(obj['data']) return numpy.frombuffer(r, dtype=obj['dtype']) elif objtype == 'obspy.Stream': buf = io.BytesIO() buf.write(base64.b64decode(obj['data'])) st = obread(buf) if 'response' in obj: for tr, resp in zip(st, obj['response']): tr.stats.response = pickle.loads(resp) return st except KeyError: pass # if it's just a normal dictionary then decode recursively new_obj = dict() for k, v in obj.iteritems(): new_obj[k]=decode_types(v) return new_obj
def _read_stream(self, inf, rf): st = obread(inf, format="SAC") self.write(self.OUTPUT_NAME, [self.count, st, rf]) self.count += 1
def _read_stream(self, inf, rf): st = obread(inf, format='SAC') self.write(self.OUTPUT_NAME, [self.count, st, rf]) self.count += 1