Beispiel #1
0
 def read(self, mongoose_lib, version, symbol, **kwargs):
     blob = version.get("blob")
     if blob is not None:
         if blob == _MAGIC_CHUNKED:
             collection = mongoose_lib.get_top_level_collection()
             data = b''.join(x['data'] for x in collection.find({'symbol': symbol,
                                                                'parent': version['_id']},
                                                                sort=[('segment', pymongo.ASCENDING)]))
         else:
             data = blob
         # Backwards compatibility
         data = lz4.decompress(data)
         return pickle_compat_load(io.BytesIO(data))
     return version['data']
Beispiel #2
0
 def read(self, mongoose_lib, version, symbol, **kwargs):
     blob = version.get("blob")
     if blob is not None:
         if blob == _MAGIC_CHUNKED:
             collection = mongoose_lib.get_top_level_collection()
             data = b''.join(x['data'] for x in collection.find(
                 {
                     'symbol': symbol,
                     'parent': version['_id']
                 },
                 sort=[('segment', pymongo.ASCENDING)]))
         else:
             data = blob
         # Backwards compatibility
         data = lz4.decompress(data)
         return pickle_compat_load(io.BytesIO(data))
     return version['data']
Beispiel #3
0
 def read(self, backing_store, library_name, version, symbol, **kwargs):
     segment_keys = version['segment_keys']
     data = b''.join(
         decompress(s)
         for s in backing_store.read_segments(library_name, segment_keys))
     return pickle_compat_load(io.BytesIO(data))