ویکیپدیا:درخواستهای ربات/جایگزینی پیوندهای نامحتمل بر پایه فهرست
<syntaxhighlight lang="python">
- !/usr/bin/python
- -*- coding: utf-8 -*-
- Distributed under the terms of the CC-BY-SA 3.0 .
- Reza (User:Reza1615) Code structure + Developing the code
import re,wikipedia,login faSite = wikipedia.getSite('fa') wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay()
- ----------------
YourAcountPywikipediaPath='/data/project/youraccount/pywikipedia' def login_wiki():
try: password_wiki = open(YourAcountPywikipediaPath+"/passfile", 'r') except: password_wiki = open(wikipedia.config.datafilepath(config.password_file), 'r') password_wiki=password_wiki.read().replace('"',).strip() passwords=password_wiki.split(',')[1].split(')')[0].strip() usernames=password_wiki.split('(')[1].split(',')[0].strip() botlog=login.LoginManager(password=passwords,username=usernames,site=faSite) botlog.login()
def getlinks(BadLink,correctLink):
try: page = wikipedia.Page(faSite,BadLink) linktos=page.getReferences() except: return True for page in linktos: if u'ویکیپدیا:تابلوی اعلانات رباتها' in page.title(): continue try: text=page.get() except: continue wikipedia.output(u'checking '+page.title()+u' .....') text=text.replace(u'\r',u) text2=text for i in [ur'شهرستان',ur'دهستان',ur'استان',ur'بخش']: BadLink2=re.sub(ur'^'+i+ur' ',ur,BadLink) correctLink2=re.sub(ur'^'+i+ur' ',ur,correctLink) if BadLink2!=BadLink: break if text.find(BadLink)!=-1 or text.find(BadLink2)!=-1: text2=text2.replace(u''+BadLink+u'',u''+correctLink+u'').replace(u'[['+BadLink+u'|',u'[['+correctLink+u'|').replace(u'\r',u) text2=text2.replace(u''+BadLink+u'',u''+correctLink+u'').replace(u'[['+BadLink+u'|',u'[['+correctLink+u'|') text2=text2.replace(u''+BadLink+u' ',u''+correctLink+u'').replace(u'[['+BadLink+u' |',u'[['+correctLink+u'|') text2=text2.replace(u''+BadLink+u' ',u''+correctLink+u'').replace(u'[['+BadLink+u' |',u'[['+correctLink+u'|') text2=text2.replace(u''+BadLink+u' ',u''+correctLink+u'').replace(u'[['+BadLink+u' |',u'[['+correctLink+u'|') #-------------------------------------------for cats----------------------------------- text2=text2.replace(u''+BadLink+u'',u''+correctLink+u'').replace(u'[[:'+BadLink+u'|',u'[[:'+correctLink+u'|') text2=text2.replace(u' '+BadLink+u'',u''+correctLink+u'').replace(u'[[: '+BadLink+u'|',u'[[:'+correctLink+u'|') text2=text2.replace(u' '+BadLink+u' ',u''+correctLink+u'').replace(u'[[: '+BadLink+u' |',u'[[:'+correctLink+u'|') text2=text2.replace(u''+BadLink+u' ',u''+correctLink+u'').replace(u'[[:'+BadLink+u' |',u'[[:'+correctLink+u'|') text2=text2.replace(u''+BadLink+u' ',u''+correctLink+u'').replace(u'[[:'+BadLink+u' |',u'[[:'+correctLink+u'|') text2=text2.replace(u' '+BadLink+u' ',u''+correctLink+u'').replace(u'[[: '+BadLink+u' |',u'[[:'+correctLink+u'|') text2=text2.replace(u'='+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2) text2=text2.replace(u'='+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2).replace(u'= '+BadLink2,u'= '+correctLink2) if text2.find(correctLink)==-1: wikipedia.output(u'\03{lightblue}could not find any link\03{default}') if text!=text2: try: page.put(text2,u'ربات:اصلاح پیوند به تغییرمسیر نامحتمل '+BadLink+u' > '+correctLink+u'') wikipedia.output(u'\03{lightgreen}the page '+page.title()+u' had replcae item '+BadLink+u' > '+correctLink+u'\03{default}') except: wikipedia.output(u'\03{lightred}the page '+page.title()+u' could not replaced so it passed\03{default}') continue else: wikipedia.output(u'\03{lightred}could not find andy link\03{default}') return True
def main():
my_list={u"استان کهگیلویه وبویراحمد":u"استان کهگیلویه و بویراحمد", u"دهستان رویدر":u"دهستان روئیدر", } for case in my_list: result= getlinks(case,my_list[case])
login_wiki() main()