当前位置: 首页>>代码示例>>Python>>正文


Python Collector.get_items方法代码示例

本文整理汇总了Python中collector.Collector.get_items方法的典型用法代码示例。如果您正苦于以下问题:Python Collector.get_items方法的具体用法?Python Collector.get_items怎么用?Python Collector.get_items使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在collector.Collector的用法示例。


在下文中一共展示了Collector.get_items方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: TestIndexer

# 需要导入模块: from collector import Collector [as 别名]
# 或者: from collector.Collector import get_items [as 别名]
class TestIndexer(unittest.TestCase):
    """ Tests the indexer class.

    """
    def setUp(self):
        self.co = Collector()
        self.indexer = ind.Indexer(self.co)

    def tearDown(self):
        rm_data_dir()

    def test_add_feed(self):
        """ Tests add_feed. 

        Add a feed to the collector.
        Add a feed to the indexer.

        For each item added:
         1- Check if the webpage url exists in the indexer. 

        """
        name, url, tag, _ = Manager.get_feeds_info()[0]
        self.co.add_feed(name, url, tag)
        self.indexer.add_feed(name)

        for _, item in self.co.get_items(name):
            query = self.indexer._Indexer__query("webpage_url", item.webpage_url)

            with self.indexer.ix.searcher() as s:
                self.assertGreater(len(s.search(query)), 0)

    def test_add_feeds(self):
        """ Tests add_feeds.

        Add feeds to the collector.
        Add feeds to the indexer.

        For each feed added, get the first item:
          1- Check if the webpage url exists in the indexer. 

        """
        for name, url, tag, _ in Manager.get_feeds_info():
            self.co.add_feed(name, url, tag)

        self.indexer.add_feeds()

        for name, _ in self.co.get_feeds():
            _, item = self.co.get_items(name).next()
            query = self.indexer._Indexer__query("webpage_url", item.webpage_url)

            with self.indexer.ix.searcher() as s:
                self.assertEquals(len(s.search(query)), 1)

    def test_rm_feed(self):
        """ Tests rm_feed.

        Add a feed to the collector.
        Add a feed to the indexer.

        Get the first item:
          1- Check if the webpage url exists in the indexer. 

        Remove the feed with the query
          2- Check if the same query retrieves no result.

        """
        name, url, tag, _ = Manager.get_feeds_info()[0]
        self.co.add_feed(name, url, tag)
        self.indexer.add_feed(name)
        _, item = self.co.get_items(name).next()

        field = "webpage_url"
        keyword = item.webpage_url
        
        query = self.indexer._Indexer__query(field, keyword)

        with self.indexer.ix.searcher() as s:
            self.assertEquals(len(s.search(query)), 1) # 1

        self.indexer.rm_feed(field, keyword, print_search=False)

        with self.indexer.ix.searcher() as s:
            self.assertEquals(len(s.search(query)), 0) # 2

    def test_search_feeds(self):
        """ Tests search_feeds.

        Add a feed to the collector.
        Add a feed to the indexer.

        1- Search feeds.
        2- Search feeds by setting a query.
        Result is visual and must be the same.

        """
        name, url, tag, _ = Manager.get_feeds_info()[0]
        self.co.add_feed(name, url, tag)
        self.indexer.add_feed(name)
        _, item = self.co.get_items(name).next()

#.........这里部分代码省略.........
开发者ID:damiendev,项目名称:RSS-Intelligence,代码行数:103,代码来源:test.py

示例2: TestCollector

# 需要导入模块: from collector import Collector [as 别名]
# 或者: from collector.Collector import get_items [as 别名]
class TestCollector(unittest.TestCase):
    """ Tests the Collector class.

    """
    def setUp(self):
        self.co = Collector()
        self.feed_info = Manager.get_feeds_info()

    def tearDown(self):
        rm_data_dir()

    def test_add_feed(self):
        """ Tests add_feed.

        Add feeds with "add_feed":
         1- Test if the feeds has been added.
         2- Test if the feeds exists in the database.

        Try adding a feed already added: 
         3- Test if the feed has not been added.

        """
        for name, url, tag, _ in self.feed_info:
            feed = self.co.add_feed(name, url, tag)
            self.assertIsNotNone(feed) # 1
            self.assertTrue(self.co.has_feed(name)) # 2

        name, url, tag = self.feed_info[0][:3]
        feed = self.co.add_feed(name, url, tag)
        self.assertIsNone(feed) # 3

    def test_update_feed(self):
        """ Tests update_feed.

        Add feeds.

        Try updating feed with "update_feed":
         1- Test if the feed doesn't need to be updated.

        #TODO
        Find a way to update a feed in the test.

        """
        for name, url, tag, _ in self.feed_info:
            self.co.add_feed(name, url, tag)

            updated = self.co.update_feed(name)
            self.assertFalse(updated) # 1

    def test_rm_feed(self):
        """ Tests rm_feed.

        Add feeds:
         1- Test if the feeds exists first.

        Remove feeds with "rm_feed".
         2- Test if the feeds has been removed.

        """
        for name, url, tag, _ in self.feed_info:
            self.co.add_feed(name, url, tag)

            self.assertTrue(self.co.has_feed(name)) # 1
            self.co.rm_feed(name)
            self.assertFalse(self.co.has_feed(name)) # 2

    def test_update_item_tag(self):
        """ Tests update_item_tag.

        Add a feed:
         1- Test if an item has not the tag attribute.

        Add a category with "update_item_tag".
         2- Test if the item updated is the same with the id.
         3- Test if the item updated has the tag attribute. 
         4- Test if the item updated has the correct category.

        """
        category = "SPORT"

        name, url, tag = self.feed_info[0][:3]
        feed = self.co.add_feed(name, url, tag)
        item_id, item = self.co.get_items(name).next()
        self.assertFalse(hasattr(item, "tag")) # 1

        self.co.update_item_tag(feed.item_db_filename, item_id, category)
        item_id_updated, item_updated = self.co.get_items(name).next()

        self.assertEquals(item_id, item_id_updated) # 2
        self.assertTrue(hasattr(item_updated, "tag")) # 3
        self.assertEquals(item_updated.tag, category) # 4

    def test_has_feed(self):
        """ Tests has_feed.

        Verify with "has_feed" if the feed exists.
         1- The feed doesn't exists.

        Add a feed.

#.........这里部分代码省略.........
开发者ID:damiendev,项目名称:RSS-Intelligence,代码行数:103,代码来源:test.py


注:本文中的collector.Collector.get_items方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。