code: def from_bson_voronoi_list(bson_nb_voro_list, structure):
      
      voronoi_list = [None] * len(bson_nb_voro_list)
      for isite, voro in enumerate(bson_nb_voro_list):
          if voro is None or voro == 'None':
              continue
          voronoi_list[isite] = []
          for psd, dd in voro:
              struct_site = structure[dd['index']]
              periodic_site = PeriodicSite(struct_site._species, struct_site.frac_coords + psd[1],
                                           struct_site._lattice, properties=struct_site.properties)
              voronoi_list[isite].append((periodic_site, dd))
      return voronoi_list
docs: Returns the voronoi_list needed for the VoronoiContainer object from a bson-encoded voronoi_list (composed of
      vlist and bson_nb_voro_list).
      :param vlist: List of voronoi objects
      :param bson_nb_voro_list: List of periodic sites involved in the Voronoi
      :return: The voronoi_list needed for the VoronoiContainer (with PeriodicSites as keys of the dictionary - not
      allowed in the BSON format)