Kullanıcı:ToprakBot/AWB modülleri/kaynakça: Revizyonlar arasındaki fark

İçerik silindi İçerik eklendi
Değişiklik özeti yok
V3
1. satır:
;Kaynakça ekleme modülü
Sayfada kaynak varsa ancak kaynakça yoksa, kaynakçayıya mümkünda olannot envarsa doğruancak yerenot ekler. Kaynaklistesi yoksa kaynakçayı ve/veya kaynakçanot varsalistesini sayfadamümkün değişiklikolan yapmazen doğru yere ekler.
 
<syntaxhighlight lang="c#">//AutoWikiBrowser - Kaynakça modülü V2.2.2V3
//Yazar: ToprakM
public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
{
Skip = false;
Summary = "";
//Kaynakça
Match kat = Regex.Match(ArticleText, @"\[\[[KkCc]ategor[yi]:");
Match disbag = Regex.Match(ArticleText, @"==(\s*|)[Dd][Iıİi][SsŞş]\s*[Bb][Aa][ĞğGg][Ll][Aa][Nn][Tt][Iıİi][Ll][Aa][[Rr](\s*|)==");
Match taslak = Regex.Match(ArticleText, @"{{.*(-|)[Tt]aslaktaslak(\s*|)}}", RegexOptions.IgnoreCase);
//Match nokat = Regex.Match(ArticleText, @"{{\s*[Kk]ategorisiz");
Regex one = new Regex(@"([Kk][Aa][Yy][Nn][Aa][Kk][ÇçCc][Aa]|==(\s*|)[Kk][Aa][Yy][Nn][Aa][Kk](\s*|)==)", RegexOptions.IgnoreCase);
Satır 24 ⟶ 27:
Regex nine = new Regex(@"<\s*references\s*(\/|)\s*\>");
if (ArticleText.Contains("<ref")||ArticleText.Contains("< ref")) {
Skip = false;
if (!(eight.Match(ArticleText).Success||nine.Match(ArticleText).Success)) {
Summary = "";
if (!(one.Match(ArticleText).Success||two.Match(ArticleText).Success||three.Match(ArticleText).Success||four.Match(ArticleText).Success||five.Match(ArticleText).Success)) {
if (ArticleText.Contains("<ref"))
{
if (!(eight.Match(ArticleText).Success||nine.Match(ArticleText).Success))
{
if (!(one.Match(ArticleText).Success||two.Match(ArticleText).Success||three.Match(ArticleText).Success||four.Match(ArticleText).Success||five.Match(ArticleText).Success))
{
if (disbag.Success) ArticleText = ArticleText.Insert(disbag.Index, "== Kaynakça ==\n{{kaynakça|30em}}\r\n\n");
else if (taslak.Success) ArticleText = ArticleText.Insert(taslak.Index, "\n== Kaynakça ==\n{{kaynakça|30em}}\r\n\n");
//else if (nokat.Success) ArticleText = ArticleText.Insert(nokat.Index, "== Kaynakça ==\n{{kaynakça|30em}}\r\n\n");
else if (kat.Success) ArticleText = ArticleText.Insert(kat.Index, "== Kaynakça ==\n{{kaynakça|30em}}\r\n\n");
else ArticleText += "\r\n\r\n== Kaynakça ==\n{{kaynakça|30em}}";
Summary += "Kaynakça başlığı ekleniyor";
ArticleText = ArticleText.Replace("\n\n== Kaynakça ==", "\n== Kaynakça ==");
} if (six.Match(ArticleText).Success) {
}
if (six.Match(ArticleText).Success)
{
Regex R1 = new Regex(@"\=\=\s*Kaynakça\s*\=\=");
ArticleText = R1.Replace(ArticleText, "== Kaynakça ==\r\n{{kaynakça|30em}}\n");
Summary += "Kaynakça şablonu ekleniyor";
} else if (seven.Match(ArticleText).Success) {
}
else if (seven.Match(ArticleText).Success)
{
Regex R2 = new Regex(@"\=\=\s*Kaynakça\s*\=\=");
ArticleText = R2.Replace(ArticleText, "== Kaynakça ==\r\n{{kaynakça|30em}}");
Summary += "Kaynakça şablonu ekleniyor";
}
}
}
//Not listesi
return ArticleText;
Match kaynakça = Regex.Match(ArticleText, @"\=\=\s*?Kaynakça\s*?\=\=", RegexOptions.IgnoreCase);
}</syntaxhighlight>
//Match nokatkategori = Regex.Match(ArticleText, @"{{\[\[\s*?[Kkkc]ategorisizategor[iy]\s*?\:", RegexOptions.IgnoreCase);
Match dışbağ = Regex.Match(ArticleText, @"\=\=\s*?Dış\sbağlantılar\s*?\=\=", RegexOptions.IgnoreCase);
Regex şablon = new Regex(@"{{\s*?(efn|adn|adn\-la|adş)\s*?(\||\})", RegexOptions.IgnoreCase);
Regex notlistesi = new Regex(@"{{\s*?(not\slistesi|notes|notelist)\s*?(\||\})", RegexOptions.IgnoreCase);
Regex refgroup = new Regex(@"\<\s?(references|ref)\s*?group", RegexOptions.IgnoreCase);
if (şablon.Match(ArticleText).Success) {
if (!(notlistesi.Match(ArticleText).Success||refgroup.Match(ArticleText).Success)) {
if (kaynakça.Success) ArticleText = ArticleText.Insert(kaynakça.Index, "== Not listesi ==\n{{not listesi}}\r\n\n");
else if (dışbağ.Success) ArticleText = ArticleText.Insert(dışbağ.Index, "== Not listesi ==\n{{not listesi}}\r\n\n");
//else if (nokattaslak.Success) ArticleText = ArticleText.Insert(nokattaslak.Index, "== KaynakçaNot listesi ==\n{{kaynakça|30emnot listesi}}\r\n\n");
else if (kategori.Success) ArticleText = ArticleText.Insert(kategori.Index, "== Not listesi ==\n{{not listesi}}\r\n\n");
else ArticleText += "\r\n\r\n== Not listesi ==\n{{not listesi}}";
Summary += "Not listesi ekleniyor";
{}
{}
return ArticleText;
}</syntaxhighlight>