ویکیپدیا:درخواستهای ربات/افزودن الگو ناوباکس به مقالات: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز Bot: Replace deprecated <source> tag and "enclose" parameter [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html] |
بدون خلاصۀ ویرایش |
||
خط ۳۲:
# Reza (User:reza1615)
# -*- coding: utf-8 -*-
import
▲fasite = wikipedia.getSite('fa','wikipedia')
_cache={}
botversion=
boxes=[
def solve_redirect(tem,fapage,fapage_redi,delink):
tem =
try:
text=tem.get()
text=text.replace(
text=text.replace(
tem.put(text,
except:
pass
def link_filtering(tem_text,links):
mytext=
tem_text_f=tem_text.replace(
tem_text_f=tem_text_f.replace(
tem_text_f=tem_text_f.replace(
tem_text_f=tem_text_f.replace(
our_test_text=re.sub(
if our_test_text!=tem_text_f:
for i in tem_text_f.split(
if
mytext+=i
elif tem_text_f!=re.sub(
for i in tem_text_f.split(
if re.sub(
mytext+=i
elif tem_text_f!=re.sub(
for i in tem_text_f.split(
if re.sub(
mytext+=i
elif tem_text_f!=re.sub(
for i in tem_text_f.split(
if re.sub(
mytext+=i▼
elif tem_text_f!=re.sub(ur'\{\{ *([Uu]S state navigation box|[uU]S county navigation box)',u'',tem_text_f):▼
for i in tem_text_f.split(u'\n|'):▼
#wikipedia.output(i)▼
mytext+=i
▲ elif tem_text_f!=re.sub(
if 'body{}'.format(i) not in i:
▲ mytext+=i
else:
list_ = ['list ', 'list=', 'list1', 'list2', 'list3', 'list4', 'list5', 'list6', 'list7', 'list8', 'list9', 'list0', 'فهرست۰', 'فهرست۹', 'فهرست۸', 'فهرست۷', 'فهرست۶', 'فهرست۵', 'فهرست۴', 'فهرست۳', 'فهرست۲', 'فهرست۱', 'content1', 'content2', 'content3', 'content4', 'content5', 'content6', 'content7', 'content8', 'content9', 'content0']
▲ for i in tem_text_f.split(u'\n|'):
for i in tem_text_f.split('\n|'):
for j in
black_text=
dict={
for a in dict:
count=0
سطر ۹۹ ⟵ ۹۸:
if count>1:
black_text+=i.split(dict[a])[0]
black_links2 = re.findall(
new_links,delink=[],[]
for i in links:
itest=i.split(
if not itest.strip():
delink.append(i)
if itest in black_links2 or itest in new_links or
continue
else:
if itest==
new_links.append(i)
continue
itest=itest.strip()
itest=re.sub(
itest=re.sub(
b_list=[
itest=re.sub(
if not itest.strip():
delink.append(i)
continue
itest=re.sub(
if not itest.strip():
continue
new_links.append(i)
return new_links,delink
def boxfind(text_en):
text_en=text_en.replace(
start=False
box=
diff=1
linebaz,linebasteh=0,0
سطر ۱۴۲ ⟵ ۱۳۶:
up_our_box=our_box[0].upper()+our_box[1:]
lower_our_box=our_box[0].lower()+our_box[1:]
regex_result=re.findall(
if regex_result:
if regex_result[0][0].strip():
pre_template=
post_tempate=
text_en=text_en.replace(
text_en=text_en.replace(
else:
pre_template,post_tempate=
lines=text_en.split('\n')
for line in lines:
if line==
continue
if line.find(pre_template+
start=True
linebaz,linebasteh=0,0
box+=pre_template+
linebaz +=
linebasteh +=
diff=linebaz-linebasteh
continue
if line.find(pre_template+
start=True
linebaz,linebasteh=0,0
box+=pre_template+
linebaz +=
linebasteh +=
diff=linebaz-linebasteh
continue
if start==True and diff!=0:
linebaz +=
linebasteh +=
diff=linebaz-linebasteh
box+=line+'\n'
سطر ۱۸۰ ⟵ ۱۷۴:
if box.strip():
break
return box.replace(
def Get_box (txt):
سطر ۱۸۶ ⟵ ۱۸۰:
if my_box.strip():
return my_box.strip()
txt=txt.replace(
lines=txt.split('\n')
matn=' '
for line in lines:
linebaz=
linebaste=
diff=linebaz-linebaste
if diff==0:
سطر ۱۹۷ ⟵ ۱۹۱:
linebaz=0
linebaste=0
matn+=line+
my_box=''
for our_box in boxes:
our_box=our_box.strip()
try:
my_box= re.search(
my_box=my_box.replace(
break
except:
سطر ۲۱۲ ⟵ ۲۰۶:
def addtext (fapage,text,addtemplate,addtemplate2,msg_clean,username_r,tempetype):
text_t=text.replace(
if
return False
text=text.replace(addtemplate+
if tempetype=='navbox':
if
num=text.find(
text=text[:num]+addtemplate+
else:
text+=
elif tempetype=='sidebar':
ourbox=Get_box (text)
if not ourbox:
text=addtemplate+
my_text_result=re.findall(
if my_text_result:
for i in my_text_result:
text=i+
else:
return False
سطر ۲۳۵ ⟵ ۲۲۹:
return False
try:
fapage.put(text,
return True
except:
سطر ۲۴۷ ⟵ ۲۴۰:
temps=[]
try:
enlink=
except:
enlink=enlink.replace(
enlink=enlink.split(
enlink=enlink.replace(
if _cache.get(tuple([enlink, 'templatequery'])):
return _cache[tuple([enlink, 'templatequery'])]
if enlink==
_cache[tuple([enlink, 'templatequery'])]=False
return False
سطر ۲۶۷ ⟵ ۲۶۰:
try:
categoryname =
site=fasite, parameters=params)
for item in categoryname[u'query'][u'pages']:▼
categoryname =
templateha=categoryname['query']['pages'][item]['templates']
break
for temp in templateha:
temps.append(temp[
_cache[tuple([enlink, 'templatequery'])]=temps
return temps
سطر ۲۸۱ ⟵ ۲۷۶:
def check_user_edits(username):
username=username.replace(
if _cache.get(tuple([username, 'check_user_edits'])):
return _cache[tuple([username, 'check_user_edits'])]
سطر ۲۹۱ ⟵ ۲۸۶:
}
try:
usernamequery =
site=fasite, parameters=params)
if usernamequery[u'query'][u'users'][0][u'editcount']>1000:▼
usernamequery = usernamequery.submit()
_cache[tuple([username, 'check_user_edits'])]=True
return True
سطر ۳۱۷ ⟵ ۳۱۴:
def add_nav(preloadingGen,username_r):
for tem in preloadingGen:
#if not user_pass:▼
# continue▼
▲ tem_title=tem.title().replace(u'الگو:',u'')
▲ if not re.sub(u'[^صثقفغعهخحجچشسیبلاتنمکگظطزرذدپوژآيئؤًٌٍَُِّْٔ]',u'',tem_title).strip():
continue
if
continue
try:
سطر ۳۳۱ ⟵ ۳۲۳:
except:
continue
tem_text=tem_text.replace(
TempTemplates=templatequery(tem.title())
if not
continue
if
tempetype=
if
tempetype=
added_template=tem.title().replace(
if tem.namespace()!=10:
continue
سطر ۳۴۷ ⟵ ۳۴۱:
redirect_list=[]
for i in redirects:
redirect_list.append(i.title().replace(
links=tem.linkedPages()
link_t=[]
سطر ۳۵۸ ⟵ ۳۵۲:
links=[x for x in link_t if x not in link_t2]
links,delink=link_filtering(tem_text,links)
old_tem_text=tem_text
for nonlink in delink:
tem_text=tem_text.replace(
if old_tem_text!=tem_text:
▲ tem.put(tem_text,u'ربات:برداشتن پیوندهای نالازم')
added_links=[]
for faTitle in links:
try:
fapage=
text=fapage.get()
except
fapage_redi = fapage.getRedirectTarget()
try:
سطر ۳۸۰ ⟵ ۳۷۳:
continue
except:
continue
msg=u' '▼
old_text=text
for i in redirect_list:
text=text.replace(
fatemplates=templatequery(fapage.title())
text=text.replace(
if not fatemplates:
continue
if
addtemplate2=
addtemplate=
addtext_result= addtext (fapage,text,addtemplate,addtemplate2,
if addtext_result:
added_links.append(faTitle)
continue
if old_text!=text:
try:
fapage.put(text,
except:
pass
سطر ۴۱۱ ⟵ ۴۰۰:
my_result={}
if added_links:
my_result['msg']=
else:
my_result['msg']=
print
def main():
gen = None
username_r=
genFactory = pagegenerators.GeneratorFactory()
for arg in
if arg.startswith('-newtem'):
arg=arg.replace(':','')
if len(arg) == 7:
genfa = pagegenerators.NewpagesPageGenerator(
else:
genfa = pagegenerators.NewpagesPageGenerator(site=fasite, total=int(arg[8:]),
gen =
else:
gen = genFactory.
if not gen:
sys.exit()
سطر ۴۴۲ ⟵ ۴۲۸:
main()
else:
▲ add_nav([faPage],username_r)
</syntaxhighlight>
|