def get_bookmarks(self, **filters): """ Get Bookmarks for the current user. Filters: :param archive: Filter Bookmarks returned by archived status. :param favorite: Filter Bookmarks returned by favorite status. :param domain: Filter Bookmarks returned by a domain. :param added_since: Filter bookmarks by date added (since this date). :param added_until: Filter bookmarks by date added (until this date). :param opened_since: Filter bookmarks by date opened (since this date). :param opened_until: Filter bookmarks by date opened (until this date). :param archived_since: Filter bookmarks by date archived (since this date.) :param archived_until: Filter bookmarks by date archived (until this date.) :param updated_since: Filter bookmarks by date updated (since this date.) :param updated_until: Filter bookmarks by date updated (until this date.) :param page: What page of results to return. Default is 1. :param per_page: How many results to return per page. Default is 20, max is 50. :param only_deleted: Return only bookmarks that this user has deleted. :param tags: Comma separated string of tags to filter bookmarks. """ filter_dict = filter_args_to_dict(filters, ACCEPTED_BOOKMARK_FILTERS) url = self._generate_url('bookmarks', query_params=filter_dict) return self.get(url)
def test_casting_of_integer_filters(self): """Pass keys that correspond to integer filters. """ filters = {'favorite': True, 'archive': False} acceptable_filter_keys = filters.keys() filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys)) self.assertEqual(filter_dict['favorite'], 1) self.assertEqual(filter_dict['archive'], 0)
def test_casting_of_datetime_filters(self): """Pass keys that correspond to datetime filters. """ now = datetime.now() filters = {'archived_since': '08-08-2010', 'favorited_since': now} acceptable_filter_keys = filters.keys() filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys)) self.assertEqual(filter_dict['archived_since'], '2010-08-08T00:00:00') self.assertEqual(filter_dict['favorited_since'], now.isoformat())
def test_casting_of_integer_filters(self): """ Pass keys that correspond to integer filters. """ filters = { 'favorite': True, 'archive': False } acceptable_filter_keys = filters.keys() filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys)) self.assertEqual(filter_dict['favorite'], 1) self.assertEqual(filter_dict['archive'], 0)
def test_casting_of_datetime_filters(self): """ Pass keys that correspond to datetime filters. """ now = datetime.now() filters = { 'archived_since': '08-08-2010', 'favorited_since': now } acceptable_filter_keys = filters.keys() filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys)) self.assertEqual(filter_dict['archived_since'], '2010-08-08T00:00:00') self.assertEqual(filter_dict['favorited_since'], now.isoformat())
def test_all_bad_filter_keys(self): """Pass a dict who's keys are not in the acceptable filter list. Should get an empty dict back. """ filters = { 'date_deleted': '08-08-2010', 'date_updated': '08-08-2011', 'liked': 1 } acceptable_filters = ['favorite', 'archive'] expected_empty = filter_args_to_dict(filters, acceptable_filters) self.assertEqual(expected_empty, {})
def test_some_bad_filter_keys(self): """Pass a mixture of good and bad filter keys. """ filters = {'favorite': True, 'archive': False} bad_filters = { 'date_deleted': '08-08-2010', 'date_updated': '08-08-2011', 'liked': 1 } acceptable_filter_keys = filters.keys() # add bad filters to filters dict filters.update(bad_filters) filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys))
def test_some_bad_filter_keys(self): """ Pass a mixture of good and bad filter keys. """ filters = { 'favorite': True, 'archive': False } bad_filters = { 'date_deleted': '08-08-2010', 'date_updated': '08-08-2011', 'liked': 1 } acceptable_filter_keys = filters.keys() # add bad filters to filters dict filters.update(bad_filters) filter_dict = filter_args_to_dict(filters, acceptable_filter_keys) self.assertEqual(set(filter_dict.keys()), set(acceptable_filter_keys))