أرابيكا:بوت/قائمة المستخدمين حسب عدد التعديلات (متضمنة البوتات)
الاسم | قائمة الويكيبيديين حسب عدد التعديلات (متضمنة البوتات) |
---|---|
اللغة | بايثون |
الرخصة | 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)