ویکی‌پدیا:درخواست‌های ربات/فهرست مقالات کوتاه

<syntaxhighlight lang="python" line start="100">

  1. !/usr/bin/python
  2. -*- coding: utf-8 -*-
  3. Reza(User:reza1615), 2011
  4. Distributed under the terms of the CC-BY-SA 3.0 .

import catlib ,pagegenerators import wikipedia,urllib,gzip,codecs,re import MySQLdb as mysqldb import config,os from datetime import timedelta,datetime wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() internetoff=False #-----------------------------------bedoone internet------------------------ wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() text=u' ' file_content=u' ' now = datetime.now() yesterday=str(now-timedelta(1)).replace('-',).split(' ')[0].strip() todayup=u"به‌روز شده توسط ربات در تاریخ: ‏۲۰ آوریل ۲۰۲۰، ساعت ۱۲:۰۳ (UTC)\n\n" titlechart=u'!رتبه!! صفحه!!برچسب‌ها!!میان‌ویکی!!تعداد پیوند به!! تعداد رده!!تعداد نگاره!!حجم صغحه (بایت)
حجم کمتر از ۵۰۰ بایت رنگی نمایش داده میشود !!توضیحات دیگر'+u'\n|-\n' uppage=todayup+u'\n{| class="wikitable sortable"\n'+titlechart downpage=u'\n|}\n\n\n' count=0 lines=u' '

  1. ------------------------------------------------------------ sql part

siteq = wikipedia.getSite("fa") query = open("/home/reza/pywikipedia/koochak.sql").read()

  1. wikipedia.output(u'Executing query:\n%s' % query)


conn = mysqldb.connect("fawiki.labsdb", db = siteq.dbName(),

                      user = config.db_username,
                      passwd = config.db_password)

cursor = conn.cursor()

  1. query = query.encode(site.encoding())

cursor.execute(query) results = cursor.fetchall()

  1. ------------------------------sql finsh------------------

def condition(link):

     wikipedia.config.put_throttle = 0
     wikipedia.put_throttle.setDelay()
     if internetoff==True:
         return u'||\n|-\n'
     alarm=' '
     try:
        pagef = wikipedia.Page( wikipedia.getSite( u'fa' ),link )
        wikipedia.output( u'opening %s ...' % pagef.title() )
        text = pagef.get()
        alarm+=u' '
        objective=u'||'
       #----------------------------------------------refrences-------------------
        if text.find(u'{{منبع')!=-1:
            alarm+=u'بدون منبع ،'
        if text.find(u'{{حذف')!=-1:
            alarm+=u'حذف،'
        if text.find(u'{{بهبود')!=-1:
             alarm+=u'بهبود منبع ،'           
        if text.find(u'{{بدون منبع')!=-1:
             alarm+=u'بدون منبع ،'
        if text.find(u'{{متخصص')!=-1:
            alarm+=u'متخصص ،'
        if text.find(u'الگو:نشان مقاله خوب فقط برای ویکی‌پدیا:مقاله‌های خوب است.')!=-1:
            alarm+=u' مقاله خوب'

if text.find(u'

')!=-1:

            alarm+=u' پیشنهاد برگزیدگی'

if text.find(u'

')!=-1:

            alarm+=u' پیشنهاد خوبیدگی'             
        if text.find(u'')!=-1:
            alarm+=u' مقاله برگزیده'
       #----------------------------------------------khord----------------------
        if text.find(u'خرد}}')!=-1:
          if text.find(u'{{بخش-خرد')!=-1:
              alarm+=u' بخش خرد ،'
          else:
              alarm+=u'خرد ،'
        if text.find(u'نیاز}}')!=-1:
          alarm+=u'نیازمند به ،'
        if text.find(u'{{طرفداری')!=-1:
            alarm+=u'عدم‌بی‌طرفی ،'
        if text.find(u'{{درستی')!=-1:
            alarm+=u'عدم توافق در درستی ،'
        if text.find(u'{{ادغام')!=-1:
            alarm+=u'ادغام ،'
        if text.find(u'{{در دست ویرایش')!=-1:
            alarm+=u'ویرایش ،'
        if text.find(u'{{ویکی‌سازی')!=-1:
            alarm+=u'ویکی‌سازی ،'
        if text.find(u'{{تمیزکاری')!=-1:
            alarm+=u'تمیزکاری ،'
        if text.find(u'{{لحن')!=-1:
            alarm+=u'لحن ،'
        if text.find(u'{{اصلاح')!=-1:
            alarm+=u'نیازمند ترجمه ،'
        if text.find(u'{{ابهام‌زدایی')!=-1:
            alarm+=u'ابهام‌زدایی ،'
        if text.find(u'{{بازنویسی')!=-1:
            alarm+=u'بازنویسی ،'
        if text.find(u'{{به روز رسانی')!=-1:
            alarm+=u'به‌روز رسانی ،'
        if text.find(u'{{به‌روز رسانی')!=-1:
            alarm+=u'به‌روز رسانی ،'
       #--------------------------------------------------------------------------
        if alarm[-1]==u'،':
            alarm=alarm[0:-1].strip()   
        interwikis=u+str(len(pagef٫interwiki()) )٫strip()+u
        cats=u+str(len(pagef٫categories(api=True)))٫strip()+u
        linked=u+str(len(pagef٫linkedPages()))٫strip()+u
        image=u+str(len(pagef٫imagelinks()))٫strip()+u
        alarm+=u'||'+interwikis+u'||'+linked+u'||'+cats+u'||'+image+u'|| ۰ ||\n|-\n'
        return alarm
     except wikipedia.IsRedirectPage:
         return False
     except:
         return False
     

savetext,rowfa,rowfaend=' ',' ',' ' count=0 for row in results:

           count+=1
           line=unicode(row[0],'UTF-8')
           print line
           if condition(line.replace('_',' '))==False:
               count-=1
               continue
           text+=u'|'+str(count)+u'||'+line.replace('_',' ').strip()+u' (ویرایش | بحث | تاریخچه | حفاظت | حذف | پیوندها | پی‌گیری | سیاهه‌ها | مشاهده‌ها)||'+condition(line.replace('_',' '))
           if count==500 or count==1000 or count==1500:
              text=uppage+text.strip()+downpage
              #---------------------------------------------------------wiki upload----------------------
              countf=str(count).replace(u'0',u'۰').replace(u'1',u'۱').replace(u'2',u'۲').replace(u'3',u'۳').replace(u'4',u'۴').replace(u'5',u'۵').replace(u'6',u'۶').replace(u'7',u'۷').replace(u'8',u'۸').replace(u'9',u'۹')
              countl=str(count-499).replace(u'0',u'۰').replace(u'1',u'۱').replace(u'2',u'۲').replace(u'3',u'۳').replace(u'4',u'۴').replace(u'5',u'۵').replace(u'6',u'۶').replace(u'7',u'۷').replace(u'8',u'۸').replace(u'9',u'۹')             
              uptitle=u'ویکی‌پدیا:گزارش دیتابیس/فهرست مقاله‌های کوتاه از %s تا %s/فهرست' %(countl,countf)
              #uptitle=u'کاربر:Reza1615/test07'+str(count)
              pagefa = wikipedia.Page( wikipedia.getSite( u'fa' ),uptitle)
              pagefa.put(text, u'ربات:به‌روزرسانی (کد)', minorEdit = True)
              del text
              text=u' '