Utente:Bot55/Portale

Questa pagina contiene alcuni script in C# 2.0 per AWB che consentono l'inserimento del template {{Portale}} con i relativi eventuali parametri.

Aggiunta portale biografie se non esistente

public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
        {
                //Cerca il template portale
		Regex portale   = new Regex(@"\{\{Portale", RegexOptions.IgnoreCase);

                //Cerca la prima categoria
		Match categoria = Regex.Match(ArticleText, @"\[\[Categoria\:", RegexOptions.IgnoreCase);
                //Cerca il primo intewiki
		Match interwiki = Regex.Match(ArticleText, @"\[\[([a-z]{2,3})\:", RegexOptions.IgnoreCase);

                //Posiziona il cursore dopo l'ultimo carattere
		int lastchar    = ArticleText.LastIndexOf("") + 1;

		Summary = "";
           
                //Salta se trova il template portale
		Skip = (portale.Match(ArticleText).Success);
		if (!Skip) 
                        //Se trova la categoria, inserisce il template appena prima
			if (categoria.Success) ArticleText = ArticleText.Insert(categoria.Index, "{{Portale|Biografie}}\n\r");
                                //Se non trova la categoria ma l'interwiki, inserisce il template appena prima
				else if (interwiki.Success) ArticleText = ArticleText.Insert(interwiki.Index, "{{Portale|Biografie}}\n\r");
                                        //Se non trova niente, inserisce appena dopo l'ultimo carattere trovato
					else ArticleText = ArticleText.Insert(lastchar, "\n\r{{Portale|Biografie}}");
		return ArticleText;
	}

Aggiunta portale biografie se già esistente il template

public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
        {
                //Cerca il parametro |Biografie all'interno del template portale
		Regex portbio = new Regex(@"\|[Bb]iografie", RegexOptions.IgnoreCase);
		
                //Cerca il template portale
		Match portale = Regex.Match(ArticleText, @"\{\{Portale", RegexOptions.IgnoreCase);
                //Cerca la prima categoria
		Match categor = Regex.Match(ArticleText, @"\[\[Categoria\:", RegexOptions.IgnoreCase);
                //Cerca il primo interwiki
		Match interwi = Regex.Match(ArticleText, @"\[\[([a-z]{2,3})\:", RegexOptions.IgnoreCase);

                //Posiziona il cursore dopo l'ultimo carattere
		int lastchar = ArticleText.LastIndexOf("") + 1;
		Summary = "";

                //Salta se trova il parametro |Biografie all'interno del template portale
		Skip = (portbio.Match(ArticleText).Success);
		if (!Skip)
                        //Se trova il template portale inserisce |Biografie come primo parametro
			if (portale.Success) ArticleText = ArticleText.Insert(portale.Index +9, "|Biografie");
                                //Altrimenti inserisce direttamente il template {{Portale|Biografie}} prima della prima categoria
				else if (categor.Success) ArticleText = ArticleText.Insert(categor.Index, "{{Portale|Biografie}}\n\r");
                                        //Se non trova nemmeno la categoria inserisce il tutto prima del primo interwiki
					else if (interwi.Success) ArticleText = ArticleText.Insert(interwi.Index, "\n{{Portale|Biografie}}\n\r");
                                                //Se proprio non trova un cavolo inserisce il template appena dopo l'ultimo carattere
						else ArticleText = ArticleText.Insert(lastchar, "\r{{Portale|Biografie}}");
		return ArticleText;
	}

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.