| Tor Norbye | 3a2425a | 2013-11-04 10:16:08 -0800 | [diff] [blame^] | 1 | class FavouriteManager(object): |
| 2 | """Favourite manager""" |
| 3 | |
| 4 | def __init__(self, session): |
| 5 | self._session = session |
| 6 | |
| 7 | @property |
| 8 | def _favourite_ids(self): |
| 9 | """Get favourites""" |
| 10 | try: |
| 11 | return map(int, self._session.get('favourite', '').split(',')) |
| 12 | except ValueError: |
| 13 | return [] |
| 14 | |
| 15 | @_favourite_ids.setter |
| 16 | def _favourite_ids(self, ids): |
| 17 | """Set favourites ids""" |
| 18 | self._session['favourite'] = ','.join(set(ids)) |
| 19 | |
| 20 | def add(self, estate): |
| 21 | """Add estate to favourite""" |
| 22 | ids = self._favourite_ids |
| 23 | ids.append(estate.id) |
| 24 | self._favourite_ids = ids |