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