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


Python proofreadpage.IndexPage类代码示例

本文整理汇总了Python中pywikibot.proofreadpage.IndexPage的典型用法代码示例。如果您正苦于以下问题:Python IndexPage类的具体用法?Python IndexPage怎么用?Python IndexPage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: test_get_page_number

    def test_get_page_number(self, key):
        """Test IndexPage page get_page_number functions."""
        data = self.sites[key]
        index_page = IndexPage(self.site, self.sites[key]["index"])

        # Test get_page_numbers_from_label.
        for label, num_set in data["get_number"]:
            # Get set of numbers from label with label as int or str.
            self.assertEqual(index_page.get_page_number_from_label(label), num_set)
            self.assertEqual(index_page.get_page_number_from_label(str(label)), num_set)

        # Error if label does not exists.
        label, num_set = "dummy label", []
        self.assertRaises(KeyError, index_page.get_page_number_from_label, "dummy label")

        # Test get_page_from_label.
        for label, page_set in data["get_page"]:
            # Get set of pages from label with label as int or str.
            self.assertEqual(index_page.get_page_from_label(label), page_set)
            self.assertEqual(index_page.get_page_from_label(str(label)), page_set)

        # Error if label does not exists.
        self.assertRaises(KeyError, index_page.get_page_from_label, "dummy label")

        # Test consistency of page <-> numbers mapping on last page_set and
        # num_set used.
        for p in page_set:
            n = index_page._numbers_from_page[p]
            self.assertEqual(index_page._page_from_numbers[n], p)
        for n in num_set:
            n = index_page._page_from_numbers[p]
            self.assertEqual(index_page._numbers_from_page[p], n)
开发者ID:Annie201,项目名称:pywikibot-core,代码行数:32,代码来源:proofreadpage_tests.py

示例2: test_valid_link_as_source

 def test_valid_link_as_source(self):
     """Test IndexPage from valid Link as source."""
     source = pywikibot.Link(self.valid_index_title,
                             source=self.site,
                             defaultNamespace=self.site.proofread_page_ns)
     page = IndexPage(source)
     self.assertEqual(page.title(withNamespace=False), source.title)
     self.assertEqual(page.namespace(), source.namespace)
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:8,代码来源:proofreadpage_tests.py

示例3: test_get_labels

    def test_get_labels(self, key):
        """Test IndexPage page get_label_from_* functions."""
        data = self.sites[key]
        num, title_num, label = data['get_label']

        index_page = IndexPage(self.site, self.sites[key]['index'])
        page_title = self.sites[key]['page'].format(title_num)
        proofread_page = ProofreadPage(self.site, page_title)

        # Get label from number.
        self.assertEqual(index_page.get_label_from_page_number(num), label)
        # Error if number does not exists.
        self.assertRaises(KeyError, index_page.get_label_from_page_number, -1)

        # Get label from page.
        self.assertEqual(index_page.get_label_from_page(proofread_page), label)
        # Error if page does not exists.
        self.assertRaises(KeyError, index_page.get_label_from_page, None)
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:18,代码来源:proofreadpage_tests.py

示例4: test_page_number_mapping

    def test_page_number_mapping(self, key):
        """Test consistency of page <-> mapping."""
        data = self.sites[key]
        num, title_num, label = data["get_label"]

        index_page = IndexPage(self.site, self.sites[key]["index"])
        page_title = self.sites[key]["page"].format(title_num)
        proofread_page = ProofreadPage(self.site, page_title)

        # Get label from number.
        self.assertEqual(index_page.get_label_from_page_number(num), label)
        # Error if number does not exists.
        self.assertRaises(KeyError, index_page.get_label_from_page_number, -1)

        # Get label from page.
        self.assertEqual(index_page.get_label_from_page(proofread_page), label)
        # Error if page does not exists.
        self.assertRaises(KeyError, index_page.get_label_from_page, None)
开发者ID:Annie201,项目名称:pywikibot-core,代码行数:18,代码来源:proofreadpage_tests.py

示例5: test_page_gen

    def test_page_gen(self, key):
        """Test Index page generator."""
        data = self.sites[key]
        num, title_num, label = data['get_label']

        index_page = IndexPage(self.site, self.sites[key]['index'])
        page_title = self.sites[key]['page'].format(title_num)
        proofread_page = ProofreadPage(self.site, page_title)

        # Check start/end limits.
        self.assertRaises(ValueError, index_page.page_gen, -1, 2)
        self.assertRaises(ValueError, index_page.page_gen, 1, -1)
        self.assertRaises(ValueError, index_page.page_gen, 2, 1)

        # Check quality filters.
        gen = index_page.page_gen(num, num, filter_ql=range(5))
        self.assertEqual(list(gen), [proofread_page])

        gen = index_page.page_gen(num, num, filter_ql=[0])
        self.assertEqual(list(gen), [])
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:20,代码来源:proofreadpage_tests.py

示例6: test_get_page_and_number

    def test_get_page_and_number(self, key):
        """Test IndexPage page get_page_number functions."""
        data = self.sites[key]
        index_page = IndexPage(self.site, self.sites[key]['index'])

        # Test get_page_numbers_from_label.
        for label, num_set in data['get_number']:
            # Get set of numbers from label with label as int or str.
            self.assertEqual(index_page.get_page_number_from_label(label),
                             num_set)
            self.assertEqual(index_page.get_page_number_from_label(str(label)),
                             num_set)

        # Error if label does not exists.
        label, num_set = 'dummy label', []
        self.assertRaises(KeyError, index_page.get_page_number_from_label,
                          'dummy label')

        # Test get_page_from_label.
        for label, page_set in data['get_page']:
            # Get set of pages from label with label as int or str.
            self.assertEqual(index_page.get_page_from_label(label),
                             page_set)
            self.assertEqual(index_page.get_page_from_label(str(label)),
                             page_set)

        # Error if label does not exists.
        self.assertRaises(KeyError, index_page.get_page_from_label, 'dummy label')

        # Test get_page.
        for n in num_set:
            p = index_page.get_page(n)
            self.assertEqual(index_page.get_number(p), n)

        # Test get_number.
        for p in page_set:
            n = index_page.get_number(p)
            self.assertEqual(index_page.get_page(n), p)
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:38,代码来源:proofreadpage_tests.py

示例7: test_check_if_cached

    def test_check_if_cached(self, key):
        """Test if cache is checked and loaded properly."""
        data = self.sites[key]
        index_page = IndexPage(self.site, self.sites[key]['index'])

        num, title_num, label = data['get_label']
        self.assertIs(index_page._cached, False)
        fetched_label = index_page.get_label_from_page_number(num)

        self.assertIs(index_page._cached, True)
        self.assertEqual(label, fetched_label)

        # Check if cache is refreshed.
        index_page._labels_from_page_number[num] = 'wrong cached value'
        self.assertEqual(index_page.get_label_from_page_number(num),
                         'wrong cached value')
        index_page._cached = False
        self.assertEqual(index_page.get_label_from_page_number(num), label)
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:18,代码来源:proofreadpage_tests.py

示例8: test_valid_site_as_source

 def test_valid_site_as_source(self):
     """Test IndexPage from valid Site as source."""
     page = IndexPage(self.site, 'Index:dummy test page')
     self.assertEqual(page.namespace(), self.site.proofread_index_ns)
开发者ID:PersianWikipedia,项目名称:pywikibot-core,代码行数:4,代码来源:proofreadpage_tests.py

示例9: main

def main(*args):
    """
    Process command line arguments and invoke bot.

    If args is an empty list, sys.argv is used.

    @param args: command line arguments
    @type args: list of unicode
    """
    index = None
    pages = '1-'
    options = {}

    # Parse command line arguments.
    local_args = pywikibot.handle_args(args)
    for arg in local_args:
        arg, sep, value = arg.partition(':')
        if arg == '-index':
            index = value
        elif arg == '-pages':
            pages = value
        elif arg == '-showdiff':
            options['showdiff'] = True
        elif arg == '-summary':
            options['summary'] = value
        elif arg == '-ocr':
            options['ocr'] = True
        elif arg == '-force':
            options['force'] = True
        elif arg == '-always':
            options['always'] = True
        else:
            pywikibot.output('Unknown argument %s' % arg)

    # index is mandatory.
    if not index:
        pywikibot.bot.suggest_help(missing_parameters=['-index'])
        return False

    # '-force' can be used with '-ocr' only.
    if 'force' in options and 'ocr' not in options:
        pywikibot.error("'-force' can be used with '-ocr' option only.")
        return False

    site = pywikibot.Site()
    if not site.has_extension('ProofreadPage'):
        pywikibot.error('Site %s must have ProofreadPage extension.' % site)
        return False

    index = IndexPage(site, index)

    if not index.exists():
        pywikibot.error("Page %s doesn't exist." % index)
        return False

    # Parse pages param.
    # Create a list of (start, end) tuples.
    pages = pages.split(',')
    for interval in range(len(pages)):
        start, sep, end = pages[interval].partition('-')
        start = 1 if not start else int(start)
        if not sep:
            end = start
        else:
            end = int(end) if end else index.num_pages
        pages[interval] = (start, end)

    # gen yields ProofreadPage objects.
    gen_list = []
    for start, end in sorted(pages):
        gen = index.page_gen(start=start, end=end,
                             filter_ql=[1], content=False)
        gen_list.append(gen)

    gen = itertools.chain(*gen_list)

    pywikibot.output('\nUploading text to %s\n' % index.title(asLink=True))

    bot = UploadTextBot(gen, site=index.site, **options)
    bot.run()
开发者ID:hasteur,项目名称:g13bot_tools_new,代码行数:80,代码来源:wikisourcetext.py


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