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

از ویکی‌پدیا، دانشنامهٔ آزاد

کد زیر موارد تغییرمسیرهای مقاله‌نما را اصلاح می‌کند. در جلوی 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)