Logo Search packages:      
Sourcecode: s3cmd version File versions  Download package


## Amazon S3 manager
## Author: Michal Ludvig <michal@logix.cz>
##         http://www.logix.cz/michal
## License: GPL Version 2

00006 class BidirMap(object):
      def __init__(self, **map):
            self.k2v = {}
            self.v2k = {}
            for key in map:
                  self.__setitem__(key, map[key])

      def __setitem__(self, key, value):
            if self.v2k.has_key(value):
                  if self.v2k[value] != key:
                        raise KeyError("Value '"+str(value)+"' already in use with key '"+str(self.v2k[value])+"'")
            except KeyError:
            self.k2v[key] = value
            self.v2k[value] = key

      def __getitem__(self, key):
            return self.k2v[key]

      def __str__(self):
            return self.v2k.__str__()

      def getkey(self, value):
            return self.v2k[value]
      def getvalue(self, key):
            return self.k2v[key]

      def keys(self):
            return [key for key in self.k2v]

      def values(self):
            return [value for value in self.v2k]

Generated by  Doxygen 1.6.0   Back to index