def __getitem__(self, item): """ @param item: Friend uid (or mask if reversed) @return: Friend mask (or uid if reversed) """ try: value = self.__masks[item] except KeyError: self.__masks = getMasks(self.safe, self.profileId) value = self.__masks.get(item, None) if value is None: raise MissingFriend("Friend does not exist locally: {}".format(item)) return value
def __init__(self, safe, profileId, reverse=False): """ Mask container constructor @param safe: crypto box @param profileId: logged in profile ID @param reverse: key and value are swapped, mask becomes the lookup key """ self.safe = safe self.profileId = profileId # friend uid->mask container self.__masks = getMasks(self.safe, self.profileId) or {} if reverse: self.__masks = {v: k for k, v in self.__masks.items()}