예제 #1
0
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()
예제 #2
0
 def setUp(self):
     '''Setups for each test'''
     cfg={'username': '', 'password': '', 'client_id': ''}
     self.client = GoogleReaderClient(cfg)
예제 #3
0
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()
예제 #4
0
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)