ویکی‌پدیا:درخواست‌های ربات/رده‌ساز رده سالها

این ربات برای ساخت رده‌هایی که عدد سال دارند کاربرد دارد.

جستارهای وابسته ویرایش

#!/usr/bin/python
# -*- coding: utf-8  -*-
#
# Reza(User:reza1615), 2011
#
# Distributed under the terms of the CC-BY-SA 3.0 .
import catlib ,pagegenerators
import wikipedia
import codecs,time,string,re,query
wikipedia.config.put_throttle = 0
wikipedia.put_throttle.setDelay()
countrydict=(u"190",#برای مواردی که فقط رده‌های قرن بیستم و بیست ویکم مد نظر باشند
             u"191",
             u"192",
             u"193",
             u"194",
             u"195",
             u"196",
             u"197",
             u"198",
             u"199",
             u"200",
             u"201")
countrydict=(u"170",
             u"171",
             u"172",
             u"173",
             u"174",
             u"175",
             u"176",
             u"177",
             u"178",
             u"179",
             u"180",
             u"181",
             u"182",
             u"183",
             u"184",
             u"185",
             u"186",
             u"187",
             u"188",
             u"189",
             u"190",
             u"191",
             u"192",
             u"193",
             u"194",
             u"195",
             u"196",
             u"197",
             u"198",
             u"199",
             u"200",
             u"201")# fill the list with english and persian translation

list=(u"Category:Political parties established in ",  u"رده:احزاب سیاسی تاسیس شده در")
 
def zwnj(txtTmp):
  txtTmp = re.sub(u'‌{2,}', u'‌', txtTmp)
  txtTmp = re.sub(u'‌(?![ئاآأإژزرذدوؤة‌بپتثجچحخسشصضطظعغفقکگلمنهیيًٌٍَُِّْٰٓٔ]|[\u0900-\u097f]|ֹ)', u'', txtTmp)
  txtTmp = re.sub(u'(?<![ئبپتثجچحخسشصضطظعغفقکگلمنهیيًٌٍَُِّْٰٓٔ]|[\u0900-\u097F]|f|ֹ)‌', u'', txtTmp)
  return txtTmp
 
def farsinum(a):
    a=str(a)
    a=a.replace(u'0',u'۰')
    a=a.replace(u'1',u'۱')
    a=a.replace(u'2',u'۲')
    a=a.replace(u'3',u'۳')
    a=a.replace(u'4',u'۴')
    a=a.replace(u'5',u'۵')
    a=a.replace(u'6',u'۶')
    a=a.replace(u'7',u'۷')
    a=a.replace(u'8',u'۸')
    a=a.replace(u'9',u'۹')
    return a
    
def checken(pagecheck,site):
         pagefa = wikipedia.Page( wikipedia.getSite(site),pagecheck )
         if pagefa.exists():
             return True
         else:
             return False
def main():
    textfa,texten=' ',' '
    for i in range(0,len(list),2):
        for j in range(0,len(countrydict),2):
            conten=countrydict[j].strip()
            itemen=list[i].strip()
            itemfa=list[i+1].strip()
            for z in range(0,10):
                adaden=conten+str(z)
                adadfa=farsinum(adaden)
                item1=itemen+' '+adaden
                wikipedia.output(item1)
                if checken(item1,'en'):
                    sukht(i,adaden)
                    continue
def sukht(i,adaden):
            itemen=list[i].strip()+u' '+adaden
            itemfa=list[i+1].strip()+u' '+farsinum(adaden)+u' '+u'(میلادی)'
            textfa=u"{{polparsestcat|"+adaden+"}}\n[[رده:احزاب سیاسی]]\n"+u"[[en:"+itemen+u"]]"#instead of رده:ایران  write upper's category name
 
            itemfa= zwnj(itemfa)
            pagefa = wikipedia.Page( wikipedia.getSite('fa'),itemfa )
 
            try:
                textfarsi=pagefa.get()
                #textfa+=textfarsi+u'\n'+itemfa.strip()
            except:
                textfa=textfa.strip()   
            pagefa.put(textfa.strip(), u'ربات: ساختن رده بر پايه ویکی‌انگلیسی ([[وپ:درخواست‌های ربات/رده‌ساز رده سالها|کد]])')
            wikipedia.output(u"done=" + itemfa)
            with codecs.open( 'listResult.txt',mode = 'a',encoding = 'utf8' ) as f:
                        f.write( u'[['+itemfa+u']]\n' )
 
 
 
if __name__ == '__main__':
    try:
        main()
    finally:
        wikipedia.stopme()


        wikipedia.stopme()