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

از ویکی‌پدیا، دانشنامهٔ آزاد

این ربات مقالات حیاتی را بر اساس ویکی انگلیسی بروز میکند و دارای دیکشنری برای ترجمه عنوان ها هست با نام dictionaryV.

#!/usr/bin/python
# -*- coding: utf-8  -*-
#
# Reza(User:reza1615), 2011
#
# Distributed under the terms of the CC-BY-SA 3.0 .
import catlib , pprint ,pagegenerators
import wikipedia
import codecs,time,string,re
from dictionaryV import dict,word
countw = 0
#filesample = 'ensource.txt'
#text2 = codecs.open( filesample,'r' ,'utf8' )
#text = text2.read()
wikien = ( 'Wikipedia:Vital articles/Expanded/People'
         ,'Wikipedia:Vital articles/Expanded/History'
         ,'Wikipedia:Vital articles/Expanded/Geography'
         ,'Wikipedia:Vital articles/Expanded/Arts'
         ,'Wikipedia:Vital articles/Expanded/Philosophy and religion'
         ,'Wikipedia:Vital articles/Expanded/Everyday life'
         ,'Wikipedia:Vital articles/Expanded/Society and social sciences'
         ,'Wikipedia:Vital articles/Expanded/Biology and health sciences'
         ,'Wikipedia:Vital articles/Expanded/Physical sciences'
         ,'Wikipedia:Vital articles/Expanded/Technology'
         ,'Wikipedia:Vital articles/Expanded/Mathematics'
         ,'Wikipedia:Vital articles/Expanded/Measurement' )
wikifa = ( 'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_مردم'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_تاریخ'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_جغرافیا'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_هنر'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_فلسفه و مذهب'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_زندگی روزانه'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_علوم اجتماعی'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_پزشکی و سلامت'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_علوم'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_تکنولوژی'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_ریاضیات'
          ,'ویکی‌پدیا:مقاله‌های_حیاتی/بخش_اندازه‌گیری' )
def englishdictionry( enlink ):
    site = wikipedia.getSite( 'en' )
    apage = wikipedia.Page( site,enlink )
    enlinkfinall = '#[[:en:' + enlink + '|en]]) [[' + enlink + ']])\n'
    NOPAGE = False
    try:
        atext = apage.get()
    except wikipedia.IsRedirectPage:
        apage = apage.getRedirectTarget()
        try:
                atext = apage.get()
        except:
                return enlinkfinall
    except:
        return enlinkfinall
    if not NOPAGE == True:
       if atext.find( '[[fa:' ) != -1:
            falink = atext.split( '[[fa:' )[1]
            falink = falink.split( ']]' )[0]
            falink = '#[[' + falink + ']]\n'
            return falink
       else:
            return enlinkfinall
    else:
        return enlinkfinall
for ensource in wikien:
    countw = countw + 1
    site = wikipedia.getSite( 'en' )
    bpage = wikipedia.Page( site,ensource )
    text = bpage.get()
    enlinkfinall,enlink,falink,outtext,line = '','','','',''
 
    for line in text.split( '\n' ):
 
        line = line.strip()
        if line.find('=') != -1 or line.find('#') == -1:
            word=line
            line=dict(word)
        if line.find( '[' ) != -1:
            enlink = line.replace( '[','' )
            enlink = enlink.split( ']' )[0]
            enlink = enlink.replace( '#','' )
            enlink = enlink.split( '|' )[0]
            enlink = enlink.split( '<' )[0]
            enlink = enlink.replace( '>','' )
            enlink = enlink.strip()
            if enlink == '':
                continue
            else:
                falink = englishdictionry( enlink )
            #falink = '#[[' + falink + ']]\n' 
        else:
            falink = line + '\n'
        pprint.pprint( falink )
        outtext = outtext + falink
        #--------------------------------------file writer------------
       # witefile = ensource.split( '/' )[-1]
        #add_text.add_text( pageinput,falink,None,None )
        #with codecs.open( witefile + '.txt',mode = 'a',encoding = 'utf8' ) as f:
                       # f.write( falink )
       # f.close()
       #-----------------------------------------filw writer------------
    #pagename = u'ویکی‌پدیا:صفحه تمرین'
    pagename = wikifa[countw - 1]
    outtext = outtext.replace( '[[:en:en:','[[:en:' )
    outtext = outtext.replace( '[[en:','[[:en:' )
    wikipedia.output( u"Loading %s..." % pagename )
    sitefa = wikipedia.getSite( 'fa' )
    pageinput = wikipedia.Page( sitefa,pagename )
    pageinput.put( outtext,comment = 'ربات: به‌روزرسانی ([[وپ:درخواست‌های ربات/مقاله‌های حیاتی|کد]])',watchArticle = None,minorEdit = True )
    outtext = ''