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")
(",".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)
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"])
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)