أرابيكا:بوت/قائمة المستخدمين حسب عدد التعديلات

من أرابيكا، الموسوعة الحرة

هذه نسخة قديمة من هذه الصفحة، وقام بتعديلها عبود السكاف (نقاش | مساهمات) في 17:30، 20 يناير 2024 (نقل عبود السكاف صفحة أرابيكا:بوت/قائمة الويكيبيديين حسب عدد التعديلات إلى أرابيكا:بوت/قائمة المستخدمين حسب عدد التعديلات: استبدال النص - 'ويكيبيديين' ب'مستخدمين'). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة، وقد تختلف اختلافًا كبيرًا عن النسخة الحالية.

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

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

الكود

#!/usr/bin/python
# -*- coding: utf-8  -*-
# Abbas (Ar:User:Elph), 2012
# update: 2015

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 
WHERE user_name NOT IN
(SELECT user_name FROM user_groups 
 INNER JOIN user ON user_id = ug_user WHERE ug_group = 'bot') 
 AND user_name NOT IN 
(Select pl_title from pagelinks where pl_from = 3002292) 
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+='\n|-\n'
        text=rowfa.strip()
text=pagetop+text+pagedown
page = wikipedia.Page(site,adress)
page.put(text,message)