Kullanıcı:ToprakBot/AWB modülleri/tartışma/victor
Görünüm
//AutoWikiBrowser - Tartışma modülü - Victor V1.2.1
//Yazar: ToprakM
public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
{
Summary = "";
Skip = false;
//Tartışma sayfası mı?
if (!(wikiNamespace == 1||wikiNamespace == 3||wikiNamespace == 5||wikiNamespace == 7||wikiNamespace == 9||wikiNamespace == 11
||wikiNamespace == 13||wikiNamespace == 15||wikiNamespace == 101||wikiNamespace == 103||wikiNamespace == 829||wikiNamespace == 2301
||wikiNamespace == 2303)) {
Summary = "Bu bir tartışma sayfası değil ki!?";
Skip = true;
}
string parametre = "|";
Regex köy = new Regex(@"\|\s*köy\s*\}\}", RegexOptions.IgnoreCase);
Regex il = new Regex(@"\|\s*il\s*\}\}", RegexOptions.IgnoreCase);
Regex ilçe = new Regex(@"\|\s*ilçe\s*\}\}", RegexOptions.IgnoreCase);
Regex mahalle = new Regex(@"\|\s*mahalle\s*\}\}", RegexOptions.IgnoreCase);
Regex büyükşehir = new Regex(@"\|\s*büyükşehir\s*\}\}", RegexOptions.IgnoreCase);
Regex liste = new Regex(@"\|\s*liste\s*\}\}", RegexOptions.IgnoreCase);
if (köy.Match(ArticleText).Success) { parametre += "köy"; }
if (il.Match(ArticleText).Success) { parametre += "il"; }
if (ilçe.Match(ArticleText).Success) { parametre += "ilçe"; }
if (mahalle.Match(ArticleText).Success) { parametre += "mahalle"; }
if (büyükşehir.Match(ArticleText).Success) { parametre += "büyükşehir"; }
if (liste.Match(ArticleText).Success) { parametre += "liste"; }
//Tartışma şablonu var mı?
bool şablon = false;
Regex R1 = new Regex(@"\{\{\s*(tartışma|discussion|sakin konuş)\s*(\||\}\})", RegexOptions.IgnoreCase);
if (R1.Match(ArticleText).Success) {
şablon = true;
}
//Sayfa boşsa geç
/*if (ArticleText == "") {
Summary = "Sayfa boş.";
Skip = true;
}*/
//Vikiproje şablonu var mı?
Regex R2 = new Regex(@"\{\{\s*vikiproje\s*(\||\}\})", RegexOptions.IgnoreCase);
string vikiproje = "";
//Yerleşim birimleri vikiproje şablonu var mı?
Regex ek1 = new Regex(@"(\{\{\s*VikiProje Türkiye yerleşim birimleri.*\}\})", RegexOptions.IgnoreCase);
var Mek1 = ek1.Match(ArticleText);
string yerleşimşablonu = Mek1.Groups[1].Value;
ArticleText = ek1.Replace(ArticleText, "");
Regex ek2 = new Regex(@"türkiye yerleşim birimleri", RegexOptions.IgnoreCase);
bool şablonvar = false;
if (ek1.Match(ArticleText).Success||ek2.Match(ArticleText).Success) {
şablonvar = true;
}
if (R2.Match(ArticleText).Success) {
//Vikiproje şablonu yerleştirme
Regex R2a = new Regex(@"(\{\{\s*vikiproje\s*(\||\}\}).*\}\})", RegexOptions.IgnoreCase);
if (R2a.Match(ArticleText).Success) {
var M1 = R2a.Match(ArticleText);
vikiproje = M1.Groups[1].Value;
vikiproje = R2a.Replace(ArticleText, "$1");
}
}
//Tartışma şablonu yoksa ekle
if (şablon == false) {
if (!(vikiproje == "")) {
if (şablonvar == false) {
ArticleText = "{{Tartışma|proje=\n{{VikiProje Türkiye yerleşim birimleri" + parametre + "}}\n" + vikiproje + "\n}}";
} else {
ArticleText = "{{Tartışma|proje=\n" + yerleşimşablonu + parametre + "\n" + vikiproje + "\n}}";
}
} else {
if (şablonvar == false) {
ArticleText = "{{Tartışma|proje=\n{{VikiProje Türkiye yerleşim birimleri" + parametre + "}}\n}}\n" + ArticleText;
}
else {
ArticleText = "{{Tartışma|proje=" + yerleşimşablonu + parametre + "}}\n" + ArticleText;
}
}
} //else { Skip = true; }
return ArticleText;
}