Пример #1
0
 def load_from_store(self):
     if not self._store:
         raise AttributeError("No datastore defined!")
     if not self._store.has_blob('all_keys'):
         return False
     data = Serializer.deserialize(self._store.get_blob('all_keys'))
     self.load_from_data(data)
     return True
Пример #2
0
 def load_from_store(self):
     if not self._store:
         raise AttributeError("No datastore defined!")
     if not self._store.has_blob('all_keys'):
         return False
     data = Serializer.deserialize(self._store.get_blob('all_keys'))
     self.load_from_data(data)
     return True
Пример #3
0
    def load_map_file(self):
        self._map = {}
        self._reverse_map = defaultdict(lambda: [])
        self._blob_sizes = defaultdict(lambda: 0)
        self._current_blob_key = None

        map_filename = self._map_filename()
        if os.path.exists(map_filename):
            with open(map_filename, "rb") as map_file:
                self._map = Serializer.deserialize(map_file.read())

            for store_key, (blob_key, start, stop) in self._map.items():
                print blob_key, start, stop
                if not store_key in self._reverse_map[blob_key]:
                    self._reverse_map[blob_key].append(store_key)
                self._blob_sizes[blob_key] += stop - start
            smallest_size = None
            for blob_key, size in self._blob_sizes.items():
                if not smallest_size or size < smallest_size:
                    self._current_blob_key = blob_key
                    smallest_size = size