#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Reza(User:reza1615), 2014
#
# Distributed under the terms of the CC-BY-SA 3.0 .
import pagegenerators,re
import wikipedia,time
import codecs,query
import urllib2
import urlparse
from BeautifulSoup import BeautifulSoup
wikipedia.config.put_throttle = 0
wikipedia.put_throttle.setDelay()
text=u' '
todayup=u"'''تاریخ تجدید''''': ~~~~~''\n"
titlechart=u'!درجہ!! صفحہ!! مشاہدات (یومیہ اوسط)!!درجہ تعداد مشاہدہ در اردو ویکی!!انسلاکات!!بین الویکی!!تعداد روابط در مضمون!! تعداد زمرہ!!تعداد تصویر!!حجم صفحہ (بائٹ){{سخ}}15 کلوبائٹ سے کم حجم والے مضامین رنگین شکل میں !!دیگر تفصیلات'+u'\n|-\n'
uppage=todayup+u'\n{| class="wikitable sortable"\n'+titlechart
downpage=u'\n|}\n[[زمرہ:ویکیپیڈیا]]\n[[زمرہ:رودادہائے قاعدہ معطیات]]\n'
count=0
def urlEncodeNonAscii(b):
return re.sub('[\x80-\xFF]', lambda c: '%%%02x' % ord(c.group(0)), b)
def iriToUri(iri):
parts= urlparse.urlparse(iri)
return urlparse.urlunparse(
part.encode('idna') if parti==1 else urlEncodeNonAscii(part.encode('utf-8'))
for parti, part in enumerate(parts)
)
def num_view(link):
matn,matn2=False,False
urlr=u"http://stats.grok.se/ur/latest90/"+link
urlr=iriToUri(urlr)
#wikipedia.output(urlr)
page = urllib2.urlopen(urlr)
soup = str(BeautifulSoup(page))
if soup.find('has been viewed')!=-1:
matn=soup.split('has been viewed')[1].split('times in the last 90 days')[0].strip()
matn=str(int(matn)/90)
if soup.find('This article ranked')!=-1:
matn2=soup.split('This article ranked')[1].split('in traffic on')[0].strip()
return matn,matn2
def condition(text):
wikipedia.config.put_throttle = 0
wikipedia.put_throttle.setDelay()
alarm=' '
try:
page = wikipedia.Page( wikipedia.getSite( u'ur' ),text )
wikipedia.output( u'opening %s ...' % page.title() )
text = page.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'{{قلم رنگ|سفید|خاکستری|منتخب مضمون}}'
#----------------------------------------------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 alarm[-1]==u'،':
alarm=alarm[0:-1].strip()
interwikis=u'{{subst:formatnum:'+str(len(page.interwiki()) ).strip()+u'}}'
cats=u'{{subst:formatnum:'+str(len(page.categories(api=True))).strip()+u'}}'
linked=u'{{subst:formatnum:'+str(len(page.linkedPages())).strip()+u'}}'
image=u'{{subst:formatnum:'+str(len(page.imagelinks())).strip()+u'}}'
alarm+=u'||'+interwikis+u'||'+linked+u'||'+cats+u'||'+image+u'||{{حجم مضمون|'+page.title().strip()+u'|15000}}||\n|-\n'
return alarm
except wikipedia.IsRedirectPage:
return False
except:
return False
list_old=[u"ویکیپیڈیا:مقبول صفحات/بھارت",u"ویکیپیڈیا:مقبول صفحات/افراد",u"ویکیپیڈیا:مقبول صفحات/فلسفہ",u"ویکیپیڈیا:مقبول صفحات/دین زرتشتی",u"ویکیپیڈیا:مقبول صفحات/اسلام",
u"ویکیپیڈیا:مقبول صفحات/مسیحیت",u"ویکیپیڈیا:مقبول صفحات/یہودیت",u"ویکیپیڈیا:مقبول صفحات/رمان",u"ویکیپیڈیا:مقبول صفحات/کتابیں",
u"ویکیپیڈیا:مقبول صفحات/رسائل",u"ویکیپیڈیا:مقبول صفحات/زبانیں",u"ویکیپیڈیا:مقبول صفحات/طبیعیات",u"ویکیپیڈیا:مقبول صفحات/شیمی",
u"ویکیپیڈیا:مقبول صفحات/ریاضی",u"ویکیپیڈیا:مقبول صفحات/فناوری",u"ویکیپیڈیا:مقبول صفحات/رایانه و رایانش",u"ویکیپیڈیا:مقبول صفحات/موسیقی",
u"ویکیپیڈیا:مقبول صفحات/هنرهای بصری",u"ویکیپیڈیا:مقبول صفحات/فلم",u"ویکیپیڈیا:مقبول صفحات/لغت",u"ویکیپیڈیا:مقبول صفحات/سینما",u"ویکیپیڈیا:مقبول صفحات/رقص",
u"ویکیپیڈیا:مقبول صفحات/ورزش",u"ویکیپیڈیا:مقبول صفحات/فٹبال",u"ویکیپیڈیا:مقبول صفحات/فوتبال در ایران",u"ویکیپیڈیا:مقبول صفحات/زیستشناسی",
u"ویکیپیڈیا:مقبول صفحات/طب",u"ویکیپیڈیا:مقبول صفحات/روانشناسی",u"ویکیپیڈیا:مقبول صفحات/میکروبشناسی",u"ویکیپیڈیا:مقبول صفحات/حشرات",
u"ویکیپیڈیا:مقبول صفحات/حیوانات",u"ویکیپیڈیا:مقبول صفحات/پرندگان",u"ویکیپیڈیا:مقبول صفحات/پستانداران",u"ویکیپیڈیا:مقبول صفحات/خزندگان و دوزیستان",
u"ویکیپیڈیا:مقبول صفحات/سگها",u"ویکیپیڈیا:مقبول صفحات/جغرافیہ",u"ویکیپیڈیا:مقبول صفحات/ایران",
u"ویکیپیڈیا:مقبول صفحات/افغانستان",u"ویکیپیڈیا:مقبول صفحات/شہر",u"ویکیپیڈیا:مقبول صفحات/آبشار",u"ویکیپیڈیا:مقبول صفحات/معماری",
u"ویکیپیڈیا:مقبول صفحات/باستانشناسی",u"ویکیپیڈیا:مقبول صفحات/جنگلداری",u"ویکیپیڈیا:مقبول صفحات/انرژی",u"ویکیپیڈیا:مقبول صفحات/زندگی روزانه",
u"ویکیپیڈیا:مقبول صفحات/هوانوردی",u"ویکیپیڈیا:مقبول صفحات/فرودگاهها",u"ویکیپیڈیا:مقبول صفحات/پویانمایی",u"ویکیپیڈیا:مقبول صفحات/جنگ",
u"ویکیپیڈیا:مقبول صفحات/کالبدشکافی",u"ویکیپیڈیا:مقبول صفحات/خودرو",u"ویکیپیڈیا:مقبول صفحات/کالبدشکافی",u"ویکیپیڈیا:مقبول صفحات/تاریخی مقامات",
u"ویکیپیڈیا:مقبول صفحات/شرکتها",u"ویکیپیڈیا:مقبول صفحات/انٹرنیٹ",u"ویکیپیڈیا:مقبول صفحات/ویب سائٹس",u"ویکیپیڈیا:مقبول صفحات/بازیگران و فیلمسازان",
u"ویکیپیڈیا:مقبول صفحات/دولت و سیاست",u"ویکیپیڈیا:مقبول صفحات/جامعات",u"ویکیپیڈیا:مقبول صفحات/گردشگری",u"ویکیپیڈیا:مقبول صفحات/اسباببازیها"]
for fa_title in list:
fapage = wikipedia.Page( wikipedia.getSite( u'ur' ),fa_title )
links=fapage.linkedPages()
count=0
for link in links:
link=link.title().replace(u'[[',u'').replace(u']]',u'').strip()
count+=1
k,k2=num_view(link.replace(u' ',u'_').replace(u'',u'%E2%80%8C'))
link_result=condition(link.replace(u'_',u' '))
if link_result==False:
continue
if not k:
k=u'0'
if not k2:
k2=u'نامعلوم'
text+=u'|{{subst:formatnum:'+str(count)+u'}}||[['+link.replace('_',' ').strip()+u']]||{{subst:formatnum:'+k+u'}} || {{subst:formatnum:'+k2+u'}}||'+link_result
text=uppage+text.strip()+downpage
fapage.put(text, u'روبالہ:اضافہ شماریات مقبول صفحات', minorEdit = True)
del text
text=u' '