ഉപയോക്താവ്:UltraBot/atom‌‌chiller t.py

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
Jump to navigation Jump to search

ഈ പ്രോഗ്രാം ഇവിടെ നല്‍കുന്നത് ഇതുപയോഗിച്ച് വിക്കിപീഡിയയെ മെച്ചപ്പെടുത്തുന്നതിന്റെ ഭാഗമായി മറ്റുവള്ളവര്‍ക്ക് ഉപയോഗിക്കാനാകും എന്ന വിശ്വാസത്തിലാണ്‌. ഈ പ്രോഗ്രാം പ്രവര്‍ത്തിപ്പിച്ച് വല്ല കുഴപ്പവുമുണ്ടാകുന്നുവെങ്കില്‍ അതിന്റെ പൂര്‍ണ്ണ ഉത്തരവാദിത്തം പ്രോഗ്രാം പ്രവര്‍ത്തിപ്പിച്ചവര്‍ക്ക് തന്നെയായിരിക്കും, ഇതിന്റെ നിര്‍മ്മാതാവ് അതിന്റെ യാതൊരു ഉത്തരവാദിത്തവും ഏറ്റെടുക്കുന്നില്ല.

"""
Author: Junaid P V
Description:
    This script written utilizing pywikipedia framework is exclusively
    for Malayalam Wikipedia only (htt://ml.wikipedia.org/).
    Purpose of this bot is to change title of a page to new chill version
    if that title contains old malayalam chill letters.
    to read more about chills see: http://www.unicode.org/versions/Unicode5.1.0/#Malayalam_Chillu_Characters
"""
import pagegenerators
import wikipedia
import codecs
import unicodedata

NEWLINE = u'\u000d\u000a'

# Chill pairs
oldChilluNN = u'\u0D23\u0D4D\u200D' # old chillu NN
newChilluNN = u'\u0D7A' # new chillu NN

oldChilluN  = u'\u0D28\u0D4D\u200D' # old chillu N
newChilluN  = u'\u0D7B' # new chillu N

oldChilluRR=u'\u0d30\u0d4d\u200d'  # old chillu RR
newChilluRR=u'\u0d7c' # new chillu R

oldChilluL  = u'\u0D32\u0D4D\u200D' # old chillu L
newChilluL  = u'\u0D7D' # new chillu L

oldChilluLL = u'\u0D33\u0D4D\u200D' # old chillu LL
newChilluLL = u'\u0D7E' # new chillu LL

oldChilluK  = u'\u0d15\u0D4D\u200D' #old chillu K
newChilluK  = u'\u0D7F' # new chillu K

oldNT = u'\u0d28\u0d4d\u0D31'
newNT = u'\u0D7B\u0D4D\u0D31'

# function to replace old chills with new ones
def replace_chills(oldString):
    newString=oldString.replace(oldChilluNN, newChilluNN)
    newString=newString.replace(oldChilluN, newChilluN)
    newString=newString.replace(oldChilluRR, newChilluRR)
    newString=newString.replace(oldChilluL, newChilluL)
    newString=newString.replace(oldChilluLL, newChilluLL)
    newString=newString.replace(oldChilluK, newChilluK)
    # ന്റ യെ ഒഴിവാക്കുന്നു
    #newString=newString.replace(oldNT, newNT)
    return newString

siteFamily = "wikipedia"
siteLangCode = "ml"
wikiSite = wikipedia.Site(code = siteLangCode, fam = siteFamily)

log = codecs.open("atom_chiller3.log", mode="at", encoding = 'utf-8')

pageGenerator=pagegenerators.TextfilePageGenerator(filename=None,site="ml")
wikipedia.output("Atom chilling page titles")
for page in pageGenerator:
    if page.isCategory():
        continue
    title=page.title()
    newTitle=replace_chills(title)
    if title!=newTitle:
        newPage=wikipedia.Page(site=wikiSite, title=newTitle)
        if newPage.exists() and (not newPage.isRedirectPage()):
            wikipedia.output( title + ": A non redirect page already exist. No change on title" +NEWLINE)
            log.write(title + ur" എന്ന തിരിച്ചുവിടലല്ലാത്ത ഒരുതാൾ നിലവിലുണ്ട്" + NEWLINE )
        elif newPage.isRedirectPage():
            wikipedia.output(title + ": a redirect page exists with its atom chill version" + NEWLINE)
            log.write(title+ur": പുതിയ ചില്ലുകളുള്ള ഒരു തിരിച്ചുവിടൽ താൾ നിലവിലുണ്ട്" + NEWLINE)
        else:
            wikipedia.output("Moving " + title + " to " + newTitle + NEWLINE)
            success=page.move(newTitle,reason=ur"പുതിയ ചില്ലുകളാക്കുന്നു")
            if success:
                log.write(title + ur" എന്ന താളിന്റെ  തലക്കെട്ട് " + newTitle + ur" എന്ന പുതിയ ചില്ലുകളുള്ള തലക്കെട്ടാക്കിയിരിക്കുന്നു" + NEWLINE)
            else:
                log.write(title + ur" എന്ന താളിന്റെ  തലക്കെട്ട് " + newTitle + ur" എന്ന പുതിയ ചില്ലുകളുള്ള തലക്കെട്ടാക്കാൻ സാധിച്ചില്ല" + NEWLINE)

    else:
        wikipedia.output( title+ ": Title change not required")
        log.write(title + ur": ഇത് പുതിയ ചില്ലുകൾ തന്നെയാണ്" +NEWLINE)
wikipedia.stopme()

log.flush()
"https://ml.wikipedia.org/w/index.php?title=ഉപയോക്താവ്:UltraBot/atom‌‌chiller_t.py&oldid=561659" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്