<commit_before>/**
 * 在[[Special:Newpages]]中讓沒有patrolmarks權限的用戶也能標記巡查過的編輯
 */

(function() {

	mw.loader.using(['mediawiki.api']).done(function() {

		let api = new mw.Api();
		let is_autoreviewer = {};

		let users = [];
		$('#mw-content-text>ul>li').each((i, e) => {
			let creator = $(e).find('a.mw-userlink').text();
			if (!mw.util.isIPAddress(creator)) {
				users.push(creator);
			} else {
				is_autoreviewer[creator] = false;
			}
		});
		api.get({
			'action': 'query',
			'format': 'json',
			'list': 'users',
			'usprop': 'rights',
			'ususers': users.join('|')
		}).then(data => {
			data.query.users.forEach(user => {
				is_autoreviewer[user.name] = (user.rights.indexOf('autopatrol') !== -1);
			});
		}).then(() => {
			$('#mw-content-text>ul>li').each((i, e) => {
				let pagename = $(e).find('>a:nth-child(2)').text();
				let oldpagename = $(e).find('.mw-newpages-oldtitle').text();
				if (oldpagename) {
					pagename = oldpagename.replace(/最初建立的名稱為 '(.+)'/, '$1').replace(/最初创建为“(.+?)”/, '$1');
				}
				let creator = $(e).find('a.mw-userlink').text();
				let oldid = mw.util.getParamValue('oldid', $(e).find('>a:first()').attr('href'));
				api.get({
					'action': 'query',
					'format': 'json',
					'list': 'logevents',
					'letype': 'patrol',
					'letitle': pagename
				}).then(data => {
					if (data.query.logevents.length == 0) {
						if (!is_autoreviewer[creator]) {
							e.classList.add('not-patrolled');<commit_msg>patrolmarks: Fix oldpagename pattern<commit_after>/**
 * 在[[Special:Newpages]]中讓沒有patrolmarks權限的用戶也能標記巡查過的編輯
 */

(function() {

	mw.loader.using(['mediawiki.api']).done(function() {

		let api = new mw.Api();
		let is_autoreviewer = {};

		let users = [];
		$('#mw-content-text>ul>li').each((i, e) => {
			let creator = $(e).find('a.mw-userlink').text();
			if (!mw.util.isIPAddress(creator)) {
				users.push(creator);
			} else {
				is_autoreviewer[creator] = false;
			}
		});
		api.get({
			'action': 'query',
			'format': 'json',
			'list': 'users',
			'usprop': 'rights',
			'ususers': users.join('|')
		}).then(data => {
			data.query.users.forEach(user => {
				is_autoreviewer[user.name] = (user.rights.indexOf('autopatrol') !== -1);
			});
		}).then(() => {
			$('#mw-content-text>ul>li').each((i, e) => {
				let pagename = $(e).find('>a:nth-child(2)').text();
				let oldpagename = $(e).find('.mw-newpages-oldtitle').text();
				if (oldpagename) {
					pagename = oldpagename.replace(/最初建立的名稱為 "(.+?)"/, '$1').replace(/最初创建为“(.+?)”/, '$1');
				}
				let creator = $(e).find('a.mw-userlink').text();
				let oldid = mw.util.getParamValue('oldid', $(e).find('>a:first()').attr('href'));
				api.get({
					'action': 'query',
					'format': 'json',
					'list': 'logevents',
					'letype': 'patrol',
					'letitle': pagename
				}).then(data => {
					if (data.query.logevents.length == 0) {
						if (!is_autoreviewer[creator]) {
							e.classList.add('not-patrolled');
{'fraction_non_alphanumeric': 0.25084976206662135, 'fraction_numerical': 0.003399048266485384, 'mean_word_length': 3.3794642857142856, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5898744', 'n_tokens_mistral': 1407, 'n_tokens_neox': 1186, 'n_words': 160}