ویکیپدیا:درخواستهای ربات/مقالههای حیاتی
ظاهر
این ربات مقالات حیاتی را بر اساس ویکی انگلیسی بروز میکند و دارای دیکشنری برای ترجمه عنوان ها هست با نام 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 = ''