| class FavouriteManager(object): | |
| """Favourite manager""" | |
| def __init__(self, session): | |
| self._session = session | |
| @property | |
| def _favourite_ids(self): | |
| """Get favourites""" | |
| try: | |
| return map(int, self._session.get('favourite', '').split(',')) | |
| except ValueError: | |
| return [] | |
| @_favourite_ids.setter | |
| def _favourite_ids(self, ids): | |
| """Set favourites ids""" | |
| self._session['favourite'] = ','.join(set(ids)) | |
| def add(self, estate): | |
| """Add estate to favourite""" | |
| ids = self._favourite_ids | |
| ids.append(estate.id) | |
| self._favourite_ids = ids |