ويكيبيديا:بوت/إنشاء تصانيف حسب الأسماء المترجمة

من ويكيبيديا، الموسوعة الحرة
بيانات کود البوت
الاسمإنشاء تصانيف حسب الأسماء المترجمة
اللغةبايثون
الرخصةCC-BY-SA 3.0
تجريبنعم
قدراتإنشاء عدد كبير من التصانيف
الصانعReza1615
المستخدمعباس
النتيجةإنشاء عدد کبیر من التصانیف حسب الأسماء المترجمة
نموذج تحریرنموذج
التحميل[ من هنا]


الكود[عدل]

#!/usr/bin/python
# -*- coding: utf-8  -*-
#
# Reza(User:reza1615), 2011
#
# Distributed under the terms of the CC-BY-SA 3.0 .
import wikipedia,re
wikipedia.config.put_throttle = 0
wikipedia.put_throttle.setDelay()
 
list=(u"Category:2009_books",u"تصنيف:كتب_2009",
u"Category:2010_books",u"تصنيف:كتب_2010",
u"Category:2011_books",u"تصنيف:كتب_2011",
u"Category:2012_books",u"تصنيف:كتب_2012",
u"Category:2013_books",u"تصنيف:كتب_2013")   
 
wiki=u'ar'
mother_cat=u'[[تصنيف:كتب حسب سنة الصدور]]' #يمكنك تركه فارغا لبوت التصانيف المعادلة لكن من المحبذ إدراج التصنيف الأعلى كي لا يبقى التصنيف غيرمصنف
msg=u'بوت إنشاء تصانيف حسب الأسماء المترجمة ' +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 main():
    wikipedia.config.put_throttle = 0
    wikipedia.put_throttle.setDelay()
    textfa,texten=' ',' '
    wikipedia.output(str(len(list)))
    for i in range(0,len(list),2):    
        caten=list[i].replace(u'category:',u'').replace(u'Category:',u'').replace(u'[[',u'').replace(u']]',u'').strip()
        fatitle=list[i+1].replace(u'تصنيف:',u'').replace(u'[[',u'').replace(u']]',u'').strip()
        textfa=mother_cat+u"\n[[en:category:"+caten+u']]'
        fatitle= zwnj(fatitle)
        pagefa = wikipedia.Page( wikipedia.getSite(wiki),u'تصنيف:'+fatitle)
        if not pagefa.exists():
             pagefa.put(textfa.strip(),msg)
             wikipedia.output( u"done=" + fatitle)
if __name__ == '__main__':
    main()