ويكيبيديا:بوت/قائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات)

بيانات کود البوت
الاسمقائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات)
اللغةبايثون
الرخصةCC-BY-SA 3.0
تجريبنعم
قدراتتحديث قائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات)
الصانععباس
المستخدمZkBot
المتغيراتلا يحتاج لأي متغيير
النتيجةقائمة مكونة من أسم 500 مستخدم (متضمنة البوتات) و عدد تعديلاتهم
نموذج تحریرنموذج
التحميل[ من هنا]

يتم تحديث قائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات) كل أسبوع بواسطة ZkBot

الكود عدل

#!/usr/bin/python
# -*- coding: utf-8  -*-
# Abbas (Ar:User:Elph), 2012
import catlib ,pagegenerators
import wikipedia,urllib,gzip,codecs,re
import MySQLdb as mysqldb
import config
pagetop=u'{{إحصاء}}\n'
pagetop+=u'<div style="background: #E5E4E2; padding: 0.5em; font-family: Traditional Arabic; font-size: 130%;  -moz-border-radius: 0.3em; border-radius: 0.3em;">'
pagetop+=u'\n<center>\n'
pagetop+=u'\nتعرض هذه الصفحة قائمة الـ500 [[ويكيبيديا:ويكيبيديون|ويكيبيدي]]  الأوائل حسب عدد التعديلات (مع احتساب [[ويكيبيديا:بوت|البوتات]]).\n'
pagetop+=u'\nانظر أيضا: [[ويكيبيديا:قائمة الويكيبيديين حسب عدد التعديلات|قائمة الويكيبيديين حسب عدد التعديلات بدون احتساب البوتات]]\n'
pagetop+=u"\n'''قام [[مستخدم:{{نسخ:Currentuser}}|{{نسخ:Currentuser}}]] بتحديث هذه القائمة في :''''' ~~~~~ '''"
pagetop+=u'\n</div>'
pagetop+=u'\n<center>\n'
pagetop+=u'<div style="background: #E5E4E2; padding: 0.5em;   -moz-border-radius: 0.3em; border-radius: 0.3em;">'
pagetop+=u'\n{| class="wikitable sortable"\n'
pagetop+=u'!style="background-color:#808080" align="center"|الرقم!!style="background-color:#808080" align="center"|المستخدم!!style="background-color:#808080" align="center"|عدد المساهمات\n|-\n'
pagedown=u'\n|}'
pagedown+=u'\n</center>'
pagedown+=u'\n</div>'
pagedown+=u'\n[[تصنيف:إحصاءات ويكيبيديا]] [[تصنيف:ويكيبيديا قائمة الويكيبيديين حسب عدد التعديلات]]'
pagedown+=u'\n</div>'
adress=u"ويكيبيديا:قائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات)"
message=u"روبوت: تحديث"
count=0
rowi,rowfia,rowfi,mytime,text,rowfa,line_items=' ',' ',' ',' ',' ',' ',' '

#---------------------------------------------- sql part--------------
site  = wikipedia.getSite("ar")
query = "SELECT user_name,user_editcount FROM user ORDER BY user_editcount DESC LIMIT 500;"

wikipedia.output(u'Executing query:\n%s' % query)
 
conn = mysqldb.connect("arwiki.labsdb", db = site.dbName(),
                       user = config.db_username,
                       passwd = config.db_password)
cursor = conn.cursor()
query = query.encode(site.encoding())
cursor.execute(query)
results = cursor.fetchall()
#---------------------------------------------- end of sql part---------
count=0
for row in results:
        count+=1
        rowi=unicode(str(row[0]),'UTF-8')
        rowi2=unicode(str(row[1]),'UTF-8')
        rowfa+=u'\n|bgcolor="#808080"|'+str(count)+u'||bgcolor="#D3D3D3"|[[مستخدم:'+rowi+u'|'+rowi+u']]||'
        rowfa+=u'bgcolor="#DCDCDC"|[[خاص:مساهمات/{{نسخ:formatnum:'+rowi+u'}}|{{نسخ:formatnum:'+rowi2+u'}}]]'        
        rowfa+=u'\n|-\n'
        text=rowfa.strip()
text=pagetop+text+pagedown
page = wikipedia.Page(site,adress)
page.put(text,message)