Exemple #1
0
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