Revision a1557c9c snf-pithos-backend/pithos/backends/lib/hashfiler/mapper.py

b/snf-pithos-backend/pithos/backends/lib/hashfiler/mapper.py
31 31
# interpreted as representing official policies, either expressed
32 32
# or implied, of GRNET S.A.
33 33

  
34
from filemapper import FileMapper
34
from archipelagomapper import ArchipelagoMapper
35 35

  
36 36

  
37 37
class Mapper(object):
......
41 41
    """
42 42

  
43 43
    def __init__(self, **params):
44
        self.rmap = None
45
        try:
46
            if params['mappool']:
47
                from radosmapper import RadosMapper
48
                self.rmap = RadosMapper(**params)
49
        except KeyError:
50
            pass
51

  
52
        self.fmap = FileMapper(**params)
44
        self.archip_map = ArchipelagoMapper(**params)
53 45

  
54 46
    def map_retr(self, maphash, blkoff=0, nr=100000000000000):
55 47
        """Return as a list, part of the hashes map of an object
56 48
           at the given block offset.
57 49
           By default, return the whole hashes map.
58 50
        """
59
        return self.fmap.map_retr(maphash, blkoff, nr)
51
        return self.archip_map.map_retr(maphash, blkoff, nr)
52

  
53
    def map_retr_archipelago(self, maphash, size):
54
        """Return as a list the hashes map of an Archipelago
55
        Volume.
56
        """
57
        return self.archip_map.map_retr_archipelago(maphash, size)
60 58

  
61 59
    def map_stor(self, maphash, hashes=(), blkoff=0, create=1):
62 60
        """Store hashes in the given hashes map."""
63
        if self.rmap:
64
            self.rmap.map_stor(maphash, hashes, blkoff, create)
65
        self.fmap.map_stor(maphash, hashes, blkoff, create)
61
        self.archip_map.map_stor(maphash, hashes, blkoff, create)

Also available in: Unified diff