ویکی‌پدیا:درخواست‌های ربات/اصلاح تغییرمسیرهای مقاله‌نما

کد زیر موارد تغییرمسیرهای مقاله‌نما را اصلاح می‌کند. در جلوی links باید عنوان صقحهٔ تغییرمسیر نوشته شود.

کوئری

ویرایش

برای دریافت صفحات تغییرمسیری که مقاله‌نما هستند از کوئری زیر استفاده کنید.

SELECT page_title,
    cl_to
FROM page
LEFT JOIN categorylinks ON cl_from = page_id
WHERE page_namespace = 0
    AND page_is_redirect = 1
    AND NOT ISNULL(cl_from)
    AND NOT cl_to LIKE '%تغییرمسیر%'
    AND NOT cl_to LIKE '%تغییر_مسیر%';
#!/usr/bin/python
# -*- coding: utf-8  -*-
#
# Reza(User:reza1615), 2014
#
# Distributed under the terms of the CC-BY-SA 3.0 .
# -*- coding: utf-8 -*-
#SELECT page_title ,cl_to FROM page LEFT JOIN categorylinks ON cl_from = page_id WHERE page_namespace = 0 AND page_is_redirect = 1 AND Not ISNULL(cl_from) AND NOT cl_to Like '%تغییرمسیر%' AND NOT cl_to Like '%تغییر_مسیر%';
import wikipedia,login,time
faSite = wikipedia.getSite('fa')

links=[]

def DoRedirect(link):
    wikipedia.output(u"---------------"+link+u'--------------') 
    try:
        page = wikipedia.Page(faSite,link)
        text=page.get()
    except wikipedia.IsRedirectPage:
        wikipedia.output(u"The page is a redirect, going to get target page.")    
        fapage=page.getRedirectTarget()
        try:
            fa_text_old=fapage.get()
            fa_title=fapage.title()
        except:
            wikipedia.output(u"The page doesn't exist, skip!")
            return 
        fa_redirect=u'#تغییرمسیر [['+fa_title+u']]'
        page.put(fa_redirect,u'ربات:اصلاح صفحهٔ تغییرمسیر')
    except:
        return 
for link in links:
    DoRedirect(link)
    time.sleep(1)