msg("Replacing %s with %s" % (origtemp, newtemp))
        if re.match("^[1I](-|$)", form):
          actions_taken.append("form=%s (%s/%s)" % (form,
            getparam(template, str(1+int(formarg))),
            getparam(template, str(2+int(formarg)))))
        else:
          actions_taken.append("form=%s" % form)
    changelog = "%s: canonicalize form (%s=) to Roman numerals: %s" % (
        tempname, formarg, '; '.join(actions_taken))
    if len(actions_taken) > 0:
      msg("Change log = %s" % changelog)
    return text, changelog

  for page, index in blib.references("Template:%s" % tempname, startFrom, upTo):
    blib.do_edit(page, index, canonicalize_one_page_verb_form, save=save)

pa = blib.init_argparser("Rewrite form= to 1= in verb headword templates")
pa.add_argument("--headword", action='store_true',
    help="Rewrite form= to 1= in ar-verb and canonicalize")
pa.add_argument("--canonicalize", action='store_true',
    help="Canonicalize form in Arabic verb templates other than ar-verb")
params = pa.parse_args()
startFrom, upTo = blib.parse_start_end(params.start, params.end)

if params.headword:
  rewrite_verb_headword(params.save, startFrom, upTo)
if params.canonicalize:
  canonicalize_verb_form(params.save, startFrom, upTo, "ar-conj", "1")
  canonicalize_verb_form(params.save, startFrom, upTo, "ar-past3sm", "1")
  canonicalize_verb_form(params.save, startFrom, upTo, "ar-verb-part", "2")
示例#2
0
            (",".join(manual_ppps), ",".join(auto_ppps), unicode(t)))
      else: # no break in for loop
        for m in notsamemsgs:
          pagemsg(m)

    newt = unicode(t)
    if origt != newt:
      pagemsg("Replaced %s with %s" % (origt, newt))

  new_text = unicode(parsed)

  if new_text != text:
    if verbose:
      pagemsg("Replacing <%s> with <%s>" % (text, new_text))
    assert notes
    comment = "; ".join(notes)
    if save:
      pagemsg("Saving with comment = %s" % comment)
      page.text = new_text
      page.save(comment=comment)
    else:
      pagemsg("Would save with comment = %s" % comment)

parser = blib.create_argparser(u"Infer the past passive participle variant from the actual PPP")
args = parser.parse_args()
start, end = blib.parse_start_end(args.start, args.end)

for category in ["Russian verbs"]:
  for i, page in blib.cat_articles(category, start, end):
    process_page(i, page, args.save, args.verbose)
示例#3
0
def vocalize_links(save, verbose, cattype, startFrom, upTo):
    def process_param(pagetitle, index, pagetext, template, tlang, param,
                      paramtr):
        result = vocalize_param(pagetitle, index, template, param, paramtr)
        if isinstance(result, basestring):
            result = ["%s (%s)" % (result, template.name)]
        return result

    def join_actions(actions):
        return "vocalize links: %s" % '; '.join(actions)

    return blib.process_links(save, verbose, "ar", "Arabic", cattype,
                              startFrom, upTo, process_param, join_actions)


pa = blib.init_argparser("Correct vocalization and translit")
pa.add_argument("-l", "--links", action='store_true', help="Vocalize links")
pa.add_argument(
    "--cattype",
    default="borrowed",
    help="Categories to examine ('vocab', 'borrowed', 'translation')")

params = pa.parse_args()
startFrom, upTo = blib.parse_start_end(params.start, params.end)

if params.links:
    vocalize_links(params.save, params.verbose, params.cattype, startFrom,
                   upTo)
else:
    vocalize_headwords(params.save, params.verbose, startFrom, upTo)
            gloss = getp("gloss").strip()
            if gloss:
                newgloss = re.sub(r"\{\{l\|en\|([^{}]*)\}\}", r"\1", gloss)
                if newgloss != gloss:
                    notes.append("remove unnecessary English links in glosses")
                    gloss = newgloss
                t.add("t", gloss, before="gloss", preserve_spacing=False)
                notes.append("move gloss= to t=")
            if t.has("gloss") and not gloss:
                notes.append("remove empty gloss=")
            rmparam(t, "gloss")
        if origt != unicode(t):
            pagemsg("Replaced %s with %s" % (origt, unicode(t)))

    return unicode(parsed), notes


parser = blib.create_argparser("Clean Lojban lemmas",
                               include_pagefile=True,
                               include_stdin=True)
args = parser.parse_args()
start, end = blib.parse_start_end(args.start, args.end)

blib.do_pagefile_cats_refs(args,
                           start,
                           end,
                           process_text_on_page,
                           edit=True,
                           stdin=True,
                           default_cats=["Lojban lemmas"])
示例#5
0
                  if pn in homophone_qualifiers:
                    hmp_args[-1] += "<qual:%s>" % homophone_qualifiers[pn]
                args[-1] += "<hmp:%s>" % ",".join(hmp_args)
                extra_notes.append("incorporate homophones into {{it-pr}}")
                homophone_lines = []

      if args == ["+"]:
        it_pr = "{{it-pr}}"
      else:
        it_pr = "{{it-pr|%s}}" % ",".join(args)
      pagemsg("Replaced %s with %s" % (unicode(ipat), it_pr))

      all_lines = "\n".join([it_pr] + rhyme_lines + rfap_lines + hyph_lines + homophone_lines)
      newsubsec = "%s\n\n" % all_lines
      if subsections[k + 1] != newsubsec:
        this_notes = ["convert {{it-IPA}} to {{it-pr}}"] + extra_notes
        notes.extend(this_notes)
      subsections[k + 1] = newsubsec

  secbody = "".join(subsections)
  # Strip extra newlines added to secbody
  sections[j] = secbody.rstrip("\n") + sectail
  return "".join(sections), notes

parser = blib.create_argparser("Convert {{it-IPA}} to {{it-pr}}", include_pagefile=True, include_stdin=True)
parser.add_argument("--partial-page", action="store_true", help="Input was generated with 'find_regex.py --lang LANG' and has no ==LANG== header.")
program_args = parser.parse_args()
start, end = blib.parse_start_end(program_args.start, program_args.end)

blib.do_pagefile_cats_refs(program_args, start, end, process_text_on_page, edit=True, stdin=True)