def usage(cfg): g = GoogleReaderClient(cfg) feed_title = 'BBC FP' feed_url = 'http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml' # Unread count r = g.get_unread_count() print "Unread count: %s" % len(r['unreadcounts']) # get list of subscriptions r = g.get_subscription_list() print "Found %s subscriptions" % len(r['subscriptions']) # Subscribe to feed print 'Subscribing to feed url: %s ' % feed_url new_feed = g.subscribe_to_feed(feed_title, feed_url, True) print new_feed print 'Retrieving feed contents for %s' % r['subscriptions'][0]['id'] print g.get_feed_contents(r['subscriptions'][0]['id'], 2) # atom test # print g.get_feed_contents(feed_url, 2, use_atom=True) print 'Retrieving feed details for %s' % r['subscriptions'][0]['id'] print g.get_feed_details(r['subscriptions'][0]['id'], False) print 'Retrieving unread items' unread_items = g.get_unread_items(1) print len(unread_items['items']) # atom test # unread_items2 = g.get_unread_items(1, feed_id=feed_url, use_atom=True) # print len(unread_items2['items']) # Change state of individual items print 'Marking as read' print g.mark_as_read(unread_items['items'][0]['id'], unread_items['items'][0]['origin']['streamId']) # Tag individual items print 'Adding tag to item ' + unread_items['items'][0]['title'] print g.add_tag(unread_items['items'][0]['id'], 'addTagTest') print 'Removing tag from item ' + unread_items['items'][0]['title'] print g.remove_tag(unread_items['items'][0]['id'], 'addTagTest') print 'Retrieving starred items' print g.get_starred_items(1) print 'Retrieving broadcast items with label %s ' % 'labelTest' i = g.get_broadcast_items(2, label='labelTest') print i # Renaming feed print 'Renaming feed:' print g.edit_feed_title('BBC FrontPage', new_feed['streamId']) # Add label to feed print "Adding label ('testLabel2') to %s feed" % new_feed['query'] print g.add_label_to_feed(feed_title, new_feed['streamId'], 'testLabel2') print "Removing label ('testLabel2') from %s feed" % new_feed['query'] print g.remove_label_from_feed(feed_title, new_feed['streamId'], 'te') # Get tag list print 'Retrieving list of tags' tags = g.get_tag_list() for t in tags['tags']: print t['id'] print 'Making label public' print g.edit_folder_or_tag(tags['tags'][0]['id'], True) # Delete tag print 'Deleting tag %s ' % 'testLabel2' t = g.delete_tag('testLabel2') # Unsubscribe print 'Unsubscribing from feed' print g.unsubscribe_from_feed(feed_title, new_feed['streamId']) print 'exporting' print g.export_OPML()
def usage(cfg): g = GoogleReaderClient(cfg) feed_title = "BBC FP" feed_url = "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml" # Unread count r = g.get_unread_count() print "Unread count: %s" % len(r["unreadcounts"]) # get list of subscriptions r = g.get_subscription_list() print "Found %s subscriptions" % len(r["subscriptions"]) # Subscribe to feed print "Subscribing to feed url: %s " % feed_url new_feed = g.subscribe_to_feed(feed_title, feed_url, True) print new_feed print "Retrieving feed contents for %s" % r["subscriptions"][0]["id"] print g.get_feed_contents(r["subscriptions"][0]["id"], 2) # atom test # print g.get_feed_contents(feed_url, 2, use_atom=True) print "Retrieving feed details for %s" % r["subscriptions"][0]["id"] print g.get_feed_details(r["subscriptions"][0]["id"], False) print "Retrieving unread items" unread_items = g.get_unread_items(1) print len(unread_items["items"]) # atom test # unread_items2 = g.get_unread_items(1, feed_id=feed_url, use_atom=True) # print len(unread_items2['items']) # Change state of individual items print "Marking as read" print g.mark_as_read(unread_items["items"][0]["id"], unread_items["items"][0]["origin"]["streamId"]) # Tag individual items print "Adding tag to item " + unread_items["items"][0]["title"] print g.add_tag(unread_items["items"][0]["id"], "addTagTest") print "Removing tag from item " + unread_items["items"][0]["title"] print g.remove_tag(unread_items["items"][0]["id"], "addTagTest") print "Retrieving starred items" print g.get_starred_items(1) print "Retrieving broadcast items with label %s " % "labelTest" i = g.get_broadcast_items(2, label="labelTest") print i # Renaming feed print "Renaming feed:" print g.edit_feed_title("BBC FrontPage", new_feed["streamId"]) # Add label to feed print "Adding label ('testLabel2') to %s feed" % new_feed["query"] print g.add_label_to_feed(feed_title, new_feed["streamId"], "testLabel2") print "Removing label ('testLabel2') from %s feed" % new_feed["query"] print g.remove_label_from_feed(feed_title, new_feed["streamId"], "te") # Get tag list print "Retrieving list of tags" tags = g.get_tag_list() for t in tags["tags"]: print t["id"] print "Making label public" print g.edit_folder_or_tag(tags["tags"][0]["id"], True) # Delete tag print "Deleting tag %s " % "testLabel2" t = g.delete_tag("testLabel2") # Unsubscribe print "Unsubscribing from feed" print g.unsubscribe_from_feed(feed_title, new_feed["streamId"]) print "exporting" print g.export_OPML()
class TestGoogleReader(unittest.TestCase): '''Test class for Google Reader API client''' def setUp(self): '''Setups for each test''' cfg={'username': '', 'password': '', 'client_id': ''} self.client = GoogleReaderClient(cfg) def testSubscriptionList(self): '''Retrieving subscription list''' response = self.client.get_subscription_list() self.assertNotEquals(response['subscriptions'], None) def testSubscribeToFeed(self): 'Subscribing to feed' response = self.client.subscribe_to_feed(FEED_NAME, FEED_URL) self.assertEquals(response, 'OK') def testSubscribeToFeed_with_info(self): 'Subscribing to feed (with info response)' response = self.client.subscribe_to_feed(FEED_NAME, FEED_URL, True) self.assertNotEquals(response['streamId'], None) def testAddLabel(self): '''Adding a label''' response = self.client.add_label_to_feed(FEED_NAME, FEED_URL, 'testLabel') self.assertEquals(response, 'OK') def testRemoveLabel(self): '''Removing a label''' response = self.client.remove_label_from_feed(FEED_NAME, FEED_URL, 'testLabel') self.assertEquals(response, 'OK') def testUnsubscribeFromFeed(self): '''Unsubscribing from feed''' feed = self.client.subscribe_to_feed(FEED_NAME, FEED_URL, True) response = self.client.unsubscribe_from_feed(FEED_NAME, feed['streamId']) self.assertEquals(response, 'OK') def testMakeFolderPublic(self): '''Make a folder public''' tags = self.client.get_tag_list()['tags'] response = self.client.edit_folder_or_tag(tags[0]['id'], False) self.assertEquals(response, 'OK') def testMakeFolderPrivate(self): '''Make a folder private''' tags = self.client.get_tag_list()['tags'] response = self.client.edit_folder_or_tag(tags[0]['id'], True) self.assertEquals(response, 'OK') def testGetTagsList(self): '''Get list of tags''' response = self.client.get_tag_list() self.assertNotEquals(response['tags'], None) def testGetPreferencesList(self): '''Search get preferences list''' response = self.client.get_preferences_list() self.assertNotEquals(response['prefs'], 'OK') def testMarkAsRead(self): '''Mark item as read''' unread_items = self.client.get_unread_items(1) response = self.client.mark_as_read(unread_items['items'][0]['id'], unread_items['items'][0]['origin']['streamId']) self.assertEquals(response, 'OK') def testTagAdd(self): '''Adding a tag to an individual item ''' unread_items = self.client.get_unread_items(1) response = self.client.add_tag(unread_items['items'][0]['id'], 'tag_item_test') self.assertEquals(response, 'OK') def testTagRemove(self): '''Removing a tag from an individual item ''' unread_items = self.client.get_unread_items(1) response = self.client.remove_tag(unread_items['items'][0]['id'], 'tag_item_test') self.assertEquals(response, 'OK') def testGetUnreadCount(self): '''Get unread count''' response = self.client.get_unread_count(False) self.assertNotEquals(response['unreadcounts'], None) def testGetUnreadItems(self): '''Get unread Items''' response = self.client.get_unread_items(1) self.assertNotEquals(response['items'], None) def testSearchReadItems(self): '''Search read items''' response = self.client.search_read_items('the') self.assertNotEquals(response['results'], None) def testSearchStarredItems(self): '''Search starred items''' response = self.client.search_starred_items('the') self.assertNotEquals(response['results'], None) def testSearchSharedItems(self): '''Search shared items''' response = self.client.search_shared_items('the') self.assertNotEquals(response['results'], None) def testSearchFollowedItems(self): '''Search followed items''' response = self.client.search_followed_items('the') self.assertNotEquals(response['results'], None) def testSearchNotes(self): '''Search notes''' response = self.client.search_notes('the') self.assertNotEquals(response['results'], None) def testSearchFolder(self): '''Search folder items''' response = self.client.search_folder('the', 'javascript') self.assertNotEquals(response['results'], None) def testSearchFeed(self): '''Search feed items''' response = self.client.search_feed('the', FEED_URL) self.assertNotEquals(response['results'], None) def testSearchAll(self): '''Search All items''' response = self.client.search_all('the') self.assertNotEquals(response['results'], None)