ويكيبيديا:بوت/إنشاء تصانيف حسب الأسماء المترجمة
الاسم | إنشاء تصانيف حسب الأسماء المترجمة |
---|---|
اللغة | بايثون |
الرخصة | 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()