コンテンツにスキップ

「利用者:Triglav/Triwiki/RFDkako.js」の版間の差分

削除された内容 追加された内容
m 利用者:Triglav/Triwiki/RFDkako.js」を保護しました ([編集=管理者のみ許可] (無期限) [移動=管理者のみ許可] (無期限))
DIV対応
53行目: 53行目:
"\n" +
"\n" +
"//終了案件を最下行へ\n" +
"//終了案件を最下行へ\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$,$1$3$2\n' +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,replaceendCCC,div\n" +
"a,replaceendCCC,div\n" +
"\n" +
"\n" +

2017年7月20日 (木) 21:09時点における版

eval( new ActiveXObject("Scripting.FileSystemObject").OpenTextFile("Triwiki.js", 1).ReadAll() );

//-------------------------------------------------
// ja.wikipedia Wikipedia:リダイレクトの削除依頼の過去ログ処理
//-------------------------------------------------
//実行モード、記事名、セット名
	var sySubmit = "1";
	var syTitle = "Wikipedia:リダイレクトの削除依頼/受付";
	var sySet = "RFDkako";

//出力ファイル名(フルパス)
var syFile = new ActiveXObject("WScript.Shell").CurrentDirectory + "\\" + WScript.scriptName.replace(/\.js$/,".txt");

//ファイル名末尾が_nの場合は動作非表示
var syMonitor = 1;
if (WScript.scriptName.match(/.*_n\.js/i)) {
	syMonitor = 0;
}

//出力フォーム
var tmHeader =
"configset=" + sySet + "\n" +
"monitor=" + syMonitor + "\n" +
"submit=" + sySubmit + "\n\n" +
"//---------------------------------------------------\n" +
"//+ ja.Wikipedia Bot「リダイレクトの削除依頼の過去ログ処理」\n" +
"//+--------------------------------------------------\n";

var tmSet =
"\n\n#setings --------------------------------------------\n" +
"//+ 受付ページから終了案件を抽出\n" +
"//+--------------------------------------------------\n" +
"mode=A\n" +
"summary=bot: [[Wikipedia:リダイレクトの削除依頼/#FullYear#年#Month#月]]へ転記 過去ログ\n" +
"botflg=1\n" +
"minor=1\n" +
"nobots=1\n" +
"timeskip=0\n" +
"\n" +
"//節の終わりを仮設\n" +
"s,$,\\n=== replaceYYY ===\\n\n" +
"s,\\n=== ,\\nreplaceendAAA\\n=== \n" +
"s,^([\\s\\S]*?)\\nreplaceendAAA\\n=== (#FullYear#年#Month#月),$1\\nreplaceendMMM\\n=== $2\n" +
"s,\\n=== (#FullYear#年#Month#月[\\s\\S]*?)\\nreplaceendAAA,\\n=== $1replaceendNNN\n" +
"s,replaceendNNN\\n=== (#FullYear#年#Month#月),\\n=== $1\n" +
"s,\\nreplaceendAAA,\n" +
"\n" +
"//作業月以外の前後文を退避\n" +
"s,^[\\s\\S]*replaceendMMM\\n,\n" +
"c,0,1\n" +
"s,replaceendNNN[\\s\\S]*?$,replaceendNNN\n" +
"c,0,2\n" +
"\n" +
"//終了案件を最下行へ\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
'a,^([\\s\\S]*?)(\\n<div style="background:#E3F9DF;[\\s\\S]*?</div>)([\\s\\S]*)$/i,$1$3$2\n' +
"a,(replaceendNNN[\\s\\S]*?)\\n<div([\\s\\S]*?)</div>$/i,$1\\n<replaceendCCC$2</replaceendCCC>\n" +
"a,replaceendCCC,div\n" +
"\n" +
"//終了案件を退避\n" +
"s,(replaceendNNN)[\\s\\S]*?$,$1\n" +
"c,0,3\n" +
"\n" +
"//退避文を復帰\n" +
"s,^,\\1\n" +
"s,$,\\2\n" +
"\n" +
"//最終整形\n" +
"s,\\nreplaceendMMM,\n" +
"s,replaceendNNN,\n" +
"s,\\n=== replaceYYY ===\\n,\n" +
"s,[  \t]+\\n,\\n\n" +
"s,===\\n\\n+([^=]),===\\n$1\n" +
"s,\\n\\n\\n+,\\n\\n\n" +
"s,(\\n== リダイレクトの削除依頼 ==[\\s\\S]*?)\\n=== \\d+年\\d+月\\d+日 - \\d+日新規依頼 ===\\n+=== ([\\s\\S]*?\\n=== \\d+年\\d+月\\d+日[\\s\\S]*?RFD[\\s\\S]*$),$1\\n=== $2\n" +
"s,(\\n== リダイレクトの削除依頼 ==[\\s\\S]*?)\\n=== \\d+年\\d+月\\d+日 - \\d+日新規依頼 ===\\n+=== ([\\s\\S]*?\\n=== \\d+年\\d+月\\d+日[\\s\\S]*?RFD[\\s\\S]*$),$1\\n=== $2\n" +
"s,(\\n== リダイレクトの削除依頼 ==[\\s\\S]*?)\\n=== \\d+年\\d+月\\d+日 - \\d+日新規依頼 ===\\n+=== ([\\s\\S]*?\\n=== \\d+年\\d+月\\d+日[\\s\\S]*?RFD[\\s\\S]*$),$1\\n=== $2\n" +
"s,(\\n== リダイレクトの削除依頼 ==[\\s\\S]*?)\\n=== \\d+年\\d+月\\d+日 - \\d+日新規依頼 ===\\n+=== ([\\s\\S]*?\\n=== \\d+年\\d+月\\d+日[\\s\\S]*?RFD[\\s\\S]*$),$1\\n=== $2\n" +
"s,(\\n== リダイレクトの削除依頼 ==[\\s\\S]*?)\\n=== \\d+年\\d+月\\d+日 - \\d+日新規依頼 ===\\n+=== ([\\s\\S]*?\\n=== \\d+年\\d+月\\d+日[\\s\\S]*?RFD[\\s\\S]*$),$1\\n=== $2\n" +
"\n" +
"s,^([\\s\\S]*)$,$1\n" +
"\n" +

"#pages ------------------------------------------\n" +
"Wikipedia:リダイレクトの削除依頼/受付\n" +
"\n" +

"#setings --------------------------------------------\n" +
"//+ 過去ログページへ退避\n" +
"//+--------------------------------------------------\n" +
"mode=A\n" +
"summary=bot: [[Wikipedia:リダイレクトの削除依頼/受付]]から転記\n" +
"botflg=1\n" +
"minor=1\n" +
"nobots=1\n" +
"timeskip=0\n" +
"\n" +

"//転記と整形\n" +
"a,$,\\3\n" +
"a,replaceendNNN,\n" +
"\n" +
"a,^([\\s\\S]*)$,$1\n" +
"\n" +

"#pages ------------------------------------------\n" +
"Wikipedia:リダイレクトの削除依頼/#FullYear#年#Month#月\n";


var RE0 = new WikipediaAPI();

//出力ファイル初期化(unicode生成)とヘッダ
var FS0 = WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile(syFile,1,1);
FS0.Write(tmHeader);

//翻訳依頼の読み込み
if (RE0.rtn == 0) {
	RE0.title = syTitle;
	RE0.section = "";
	RE0.read();
}

//節の抽出とデータ生成
if (RE0.rtn == 0) {
	var tblText = RE0.text.split("\n=== ");
	tblText.shift();

	var wkDate = tblText[0].replace(/月\d+日[\s\S]*$/, "");
	FS0.Write(tmSet.replace(/#FullYear#/g, wkDate.replace(/年.*/, "")).replace(/#Month#/g, wkDate.replace(/.*年/, "")));
//	WScript.Echo(wkDate);
	for (i in tblText) {
		tblText[i] = tblText[i].replace(/月\d+日[\s\S]*$/, "");
//		WScript.Echo(tblText[i]);
		if (wkDate != tblText[i]) {
			wkDate = tblText[i];
			FS0.Write(tmSet.replace(/#FullYear#/g, wkDate.replace(/年.*/, "")).replace(/#Month#/g, wkDate.replace(/.*年/, "")));
		}
	}
}
//FS0.Write(tmSet.replace(/#FullYear#/g, "2017").replace(/#Month#/g, "5"));

//ファイルクローズ
FS0.Close();

//更新処理の起動
if (RE0.rtn == 0) {
	WScript.CreateObject("WScript.Shell").run("Trireplace.js " + syFile);
}

WScript.Quit();