Ejemplo n.º 1
0
 def action(self, page, **kwargs):
     super(ReplaceSootvMn, self).action(page, **kwargs)
     content = kwargs['content']
     p = re.compile(
         u"""(?P<tpl>\{\{
             (?P<title>(?P<morph>гл)[ ]ru[ ][^|]+)  # заголовок
             (?P<params>[^{}]+?(\{\{[^{}]+?\}\})?[^{}]+?)  # параметры
             \}\})""",
         flags=re.UNICODE + re.DOTALL + re.VERBOSE)
     parts = p.findall(content)
     for part in parts:
         m = p.search(part[0])
         if m:
             old_tpl = m.group('tpl')
             new_tpl = old_tpl.replace(u"|соотв-мн=", u"|соотв=")
             if new_tpl != old_tpl:
                 old_content = get_wiki_page(page.title).get()
                 # old_content = content
                 new_content = old_content.replace(old_tpl, new_tpl)
                 if old_content != new_content:
                     print page.title
                     print '-' * 100
                     print old_tpl
                     print '-' * 100
                     print new_tpl
                     print '-' * 100
                     # print new_content
                     # print '=' * 200
                     desc = u'замена параметра "|соотв-мн=" на "|соотв="'
                     save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 2
0
    def action(self, page, **kwargs):
        super(ReplacePTemplate, self).action(page, **kwargs)
        old_content = kwargs['content']

        # old_content = re.sub(u'[А-Яа-я]+\{\{!\}\}([А-Яа-я\u0301]+)', '\\1', old_content)
        # if '{{!}}' in old_content:
        #     print '###'
        #     return
        p = re.compile(u'(\{\{[pр]\|(?P<w1>[^\|\}]+)\|?((?P<p1>[,;])|&#59(?P<p2>;))?\|?(?P<w2>[^\}\|]*)\|?((?P<p3>[,;])|&#59(?P<p4>;))?\}\})')
        # p = re.compile(u'(\{\{[pр]\|([^|]+)\|?(([,;])|&#59(;))?\|?([^\}\|]*)\}\})')
        #                 '(\{\{[pр]\|([^|]+)\|?(([,;])|&#59(;))?\|?([^\}\|]*)\}\})'
        items = p.findall(old_content)
        if items:
            print
            print page.title
            print
            old_content = get_wiki_page(page.title).get()
            new_content = old_content
            for item in items:
                old_line = item[0]
                new_line = "%s%s%s%s%s%s%s" % \
                           (item[1],  # word1
                            item[3], item[4], ' ' if item[5] else '',
                            item[5],  # word2
                            item[7], item[8],)
                new_content = new_content.replace(old_line, new_line)
            print old_content
            print
            print new_content
            print
            if old_content != new_content:
                desc = u'удаление вызовов шаблона {{p}}'
                save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 3
0
 def action(self, page, **kwargs):
     super(SlogiSimpleReplacer5, self).action(page, **kwargs)
     if ':' in page.title:
         return
     old_content = get_wiki_page(page.title).get()
     new_content = old_content.replace(
         u"слоги={{по слогам|||}}",
         u"слоги={{по-слогам|%s}}" % page.title)
     if old_content != new_content:
         desc = u'добавление параметра-заголовка к пустому {{по-слогам|}}'
         save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 4
0
 def action(self, page, **kwargs):
     super(SlogiSimpleReplacer3, self).action(page, **kwargs)
     if ':' in page.title:
         return
     old_content = get_wiki_page(page.title).get()
     new_content = old_content.replace(
         u"слоги=\n",
         u"слоги={{по-слогам|%s}}\n" % page.title)
     if old_content != new_content:
         desc = u'добавление {{по-слогам}} к пустому "слоги="'
         save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 5
0
 def action(self, page, **kwargs):
     super(SlogiSimpleReplacer2, self).action(page, **kwargs)
     if ':' in page.title:
         return
     old_content = get_wiki_page(page.title).get()
     new_content = old_content.replace(
         u"слоги={{PAGENAME}}\n",
         u"слоги={{по-слогам|%s}}\n" % page.title)
     if old_content != new_content:
         desc = u'замена {{PAGENAME}} в "слоги=" на {{по-слогам|заголовок}}'
         save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 6
0
    def action(self, page, **kwargs):
        super(ReplaceBadSootv, self).action(page, **kwargs)
        old_content = kwargs['content']
        if ':' in page.title:
            return

        print "# [[%s]]" % page.title
        # print
        old_content = get_wiki_page(page.title).get()
        new_content = old_content.replace(
            u'}}\nСоответствующий глагол совершенного вида — ?.',
            u'|соотв=\n}}'
        )
        if old_content != new_content:
            desc = u'замена строки "Соответствующий глагол совершенного вида — ?." на пустой параметр "|соотв="'
            save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 7
0
 def action(self, page, **kwargs):
     super(FindSootv, self).action(page, **kwargs)
     content = kwargs['content']
     p = re.compile(
         u"""(?P<tpl>\{\{
             (?P<title>(?P<morph>гл)[ ]ru[ ][^|]+)  # заголовок
             (?P<params>[^{}]+?(\{\{[^{}]+?\}\})?[^{}]+?)  # параметры
             \}\})""",
         flags=re.UNICODE + re.DOTALL + re.VERBOSE)
     parts = p.findall(content)
     for part in parts:
         m = p.search(part[0])
         if m:
             tpl = m.group('tpl')
             # print tpl
             m2 = re.search(u"\|(соотв)=(?P<value>[^\n]+)\n", tpl)
             if m2:
                 value = m2.group('value')
                 # print m2.group(1)
                 # value = m2.group(0)
                 value = value.strip() if value else ''
                 # print u"* '''%s''' — %s" % (page.title, value)
                 prefixes = [u'приставочного типа ', u'приставочные вида ',
                             u'приставочные типа ', u'приставочные: ',
                             u'приставочный вида ', u'приставочного типа: ',
                             u'<span>приставочные типа</span> ',
                             u'приставочные глаголы типа ',
                             u'приставочные вроде ', u'приставочные ',]
                 for prefix in prefixes:
                     if value.startswith(prefix):
                         old_content = get_wiki_page(page.title).get()
                         # old_content = content
                         new_content = old_content.replace(
                             u'|соотв=%s' % prefix,
                             u'|соотв={{без ссылок|приставочные типа}} ')
                         if old_content != new_content:
                             print page.title
                             # print '-' * 100
                             # print old_tpl
                             # print '-' * 100
                             # print new_tpl
                             # print '-' * 100
                             # print new_content
                             # print '=' * 200
                             desc = u'добавление шаблона "без ссылок" для "приставочного типа" в параметре "соотв"'
                             save_wiki_page(page.title, new_content, desc, wait=5)
                         break
Ejemplo n.º 8
0
 def action(self, page, **kwargs):
     super(RemoveEmptyOrOldParams, self).action(page, **kwargs)
     if self.i < 105000:
         return
     content = kwargs['content']
     p = re.compile( # todo: add "сущ"
         u"""(?P<tpl>\{\{
             (?P<title>(?P<morph>сущ)[ ]ru[ ][^|]+)  # заголовок
             (?P<params>[^{}]+?(\{\{[^{}]+?\}\})?[^{}]+?)  # параметры
             \}\})""",
         flags=re.UNICODE + re.DOTALL + re.VERBOSE)
     parts = p.findall(content)
     for part in parts:
         m = p.search(part[0])
         if m:
             old_tpl = m.group('tpl')
             new_tpl = old_tpl.replace("|show-text=1\n", "")
             # new_tpl = re.sub(u'\|(2в|НП|основа[12] ?|Прич|ПричСтрад|Деепр)=\\n', '', new_tpl)
             # new_tpl = re.sub(u'\|(коммент|П)=\\n', '', new_tpl)
             # m = re.search('\|(?P<param>[^|\\n=]+)=\\n', old_tpl)
             # if m:
             #     print old_tpl
             #     print '-' * 50
             #     self.result.append(m.group('param'))
             if new_tpl != old_tpl:
                 old_content = get_wiki_page(page.title).get()
                 # old_content = content
                 new_content = old_content.replace(old_tpl, new_tpl)
                 if old_content != new_content:
                     print page.title.encode('cp1251')
                     # print '-' * 100
                     # print old_tpl.encode('cp1251')
                     # print '-' * 100
                     # print new_tpl.encode('cp1251')
                     # print '-' * 100
                     # print new_content
                     # print '=' * 200
                     desc = u'удаление параметра "|show-text=1" из русских существительных'
                     save_wiki_page(page.title, new_content, desc, wait=5)
Ejemplo n.º 9
0
 def action(self, page, **kwargs):
     super(PerevodBlankLine, self).action(page, **kwargs)
     if ':' in page.title:
         return
     content = page.content
     if u'{{перев-блок|' not in content:
         return
     p = re.compile(u"\{\{перев-блок\|([^|]+)\n\n")
     m = p.search(content)
     if not m:
         return
     if '}}' in m.group(1):
         print page.title
     return
     old_content = get_wiki_page(page.title).get()
     new_content = p.sub(u"{{перев-блок|\\1|\n", old_content)
     if old_content != new_content:
         # print '\n' * 10
         # print '=' * 100
         # print old_content
         # print '-' * 100
         # print new_content
         desc = u'исправление глюка (пустой строки) в {{перев-блок}}'
         save_wiki_page(page.title, new_content, desc, wait=5)