위키백과:비정상적으로 긴 사용 기간/구성이 있는 데이터베이스 보고서/반미 보호 문서

Wikipedia:

과잉 발암 물질파이를 치다

#!/usr/bin/env python2.5  # 저작권 2008 bjweeks, CBM, MZMcBride  # 이 프로그램은 무료 소프트웨어: 재분배 및/또는 수정 가능 # GNU General Public License의 조건에 따라 발행됨 # 무료 소프트웨어 재단, 라이센스 버전 3 또는 # (선택 사항대로) 이후 버전.  # 이 프로그램은 유용하게 쓰이길 바라며 배포한다. # 그러나 아무런 보증 없이, 묵시적인 보증도 없이 # 특정 목적에 대한 상품성 또는 적합성.보기 # GNU General Public License 자세한 내용은.  # GNU 일반공인허가증 사본을 받았어야 함 # 이 프로그램과 함께.그렇지 않다면 <http://www.gnu.org/licenses/>을 참조하십시오.  수입하다 datetime 수입하다 MySQLDB 수입하다 위키풀스 수입하다 설정  report_properties = 설정.루트 페이지 + '비정상적으로 긴 사용 기간을 가진 반미보호 기사'  report_properties = u''' 1년 이상 편집이 반보호된 기사, <전용> 기준 자료%s</만 포함>.  {class="확장 가능한 정렬 가능" 스타일="폭:100%%; 여백:자동;" - style="white-space:nowrap;" 안돼! ! 기사 ! 보호자 ! 타임스탬프 ! 만료 ! 이유 - %s } '''  위키 = 위키풀스.위키(설정.apiurl.) 위키.로그 인.(설정.사용자 이름, 설정.암호)  반항하다 last_log_entry(페이지를 매기다):     모조품 = {         '행동': 'query',         '목록': '로제제',         'lelimit': '1',         'lettitle': 페이지를 매기다,         '형식': 'json',         '레디르': '나이 많은',         'lettype': '보호',         '레프로프': '사용자 타임스탬프 설명'     }     부탁한다 = 위키풀스.APIREquest(위키, 모조품)     반응하다 = 부탁한다.질의하다(질의가 계속되다=거짓의)     마지막 기록 = 반응하다['query']['로제제']     타임스탬프 = datetime.datetime.스트립타임을 알리다(마지막 기록[0]['timestamp'], '%Y-%m-'%dT%H:%M:%SZ').사시사철('%Y%m%d%H%M%S')     사용자 = 마지막 기록[0]['사용자']     댓글 = 마지막 기록[0]['comment']     돌아오다 { 'timestamp': 타임스탬프, '사용자': 사용자, 'comment': 댓글 }  코너를 돌다 = MySQLDB.연결하다(사회를 보다=설정.사회를 보다, db=설정.dbname, read_default_file='~/.my.cnf') 커서 = 코너를 돌다.커서() 커서.처형하다(''' /* excessivesemiarticles.py SLOW_OK */ 선택 page_is_message page_page pr_message FROM 페이지_제한 조인 페이지 ON page_id = pr_page Where page_namespace = 0 AND pr_type = '편집' AND pr_level = '자동 확인' AND pr_expiry > DATE_FORMAT(DATE_ADD(NOW)(), Interval 1년), '%Y%m%d%H%i%s') 그리고 pr_expiry != 'infinity'; ''')  i = 1 생산량 = [] 을 위해 배를 젓다  커서.팔뚝을 박다():     페이지를 매기다 = 위키풀스.페이지(위키, u'%s' % (유니코드(배를 젓다[1], 'utf-8')), 팔로레디르=거짓의)     방향을 바꾸다 = 배를 젓다[0]     만일 방향을 바꾸다 == 1:         page_page = u'[]%s]]</i'' % 유니코드(배를 젓다[1], 'utf-8')     다른:         page_page = u'[[%s]]' % 유니코드(배를 젓다[1], 'utf-8')     log_message = last_log_entry(페이지를 매기다.칭호를 붙이다)     사용자 = u'[사용자 대화:%s]]' % log_message['사용자']     타임스탬프 = log_message['timestamp']     pr_message = 배를 젓다[2]     댓글 = u'[nowiki]%s</노위키> % log_message['comment']     table_row = u'''%d   %s   %s   %s   %s   %s -''' % (i, page_page, 사용자, 타임스탬프, pr_message, 댓글)     생산량.덧셈을(table_row)     i += 1  커서.처형하다('SELECT UNIX_TIMestamp() - UNIX_TIMestamp(rc_TIMestamp) 최근 변경 내용 중 ORDER BY rc_timestamp DESK Limit 1;) rep_message = 커서.을 가져오다()[0] 현재_의 = (datetime.datetime.utcnow() - datetime.타미텔타하다(몇 초=rep_message)).사시사철('%H:%M,%d%B %Y(UTC)')  신고하다 = 위키풀스.페이지(위키, report_properties) report_text = report_properties % (현재_의, '\n'.합류하다(생산량)) report_text = report_text.인코딩하다('utf-8') 신고하다.편집하다(report_text, 요약=설정.편집 사항, 봇을 만들다=1)  커서.가까운.() 코너를 돌다.가까운.() 

크론탑

0 12 7 * * python ~/sython/sythroughters/sythivesemiarticles.py > /dev/message