<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3ADatabase_reports%2FNew_WikiProjects%2FConfiguration</id>
	<title>MyWiki:Database reports/New WikiProjects/Configuration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3ADatabase_reports%2FNew_WikiProjects%2FConfiguration"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:Database_reports/New_WikiProjects/Configuration&amp;action=history"/>
	<updated>2026-04-22T22:07:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=MyWiki:Database_reports/New_WikiProjects/Configuration&amp;diff=17773410&amp;oldid=prev</id>
		<title>imported&gt;HaleBot: Bot: updating database report</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:Database_reports/New_WikiProjects/Configuration&amp;diff=17773410&amp;oldid=prev"/>
		<updated>2024-01-07T03:05:28Z</updated>

		<summary type="html">&lt;p&gt;Bot: updating database report&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This report is updated every 14 days.&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Copyright 2009-2010 bjweeks, MZMcBride, svick&lt;br /&gt;
Copyright 2021 Kunal Mehta &amp;lt;legoktm@debian.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
use anyhow::Result;&lt;br /&gt;
use dbreps2::{str_vec, Frequency, Report};&lt;br /&gt;
use mysql_async::prelude::*;&lt;br /&gt;
use mysql_async::Conn;&lt;br /&gt;
&lt;br /&gt;
pub struct Row {&lt;br /&gt;
    rc_timestamp: String,&lt;br /&gt;
    rc_title: String,&lt;br /&gt;
    page_is_redirect: u32,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pub struct NewProjects {}&lt;br /&gt;
&lt;br /&gt;
impl Report&amp;lt;Row&amp;gt; for NewProjects {&lt;br /&gt;
    fn title(&amp;amp;self) -&amp;gt; &amp;amp;&amp;#039;static str {&lt;br /&gt;
        &amp;quot;New WikiProjects&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn frequency(&amp;amp;self) -&amp;gt; Frequency {&lt;br /&gt;
        Frequency::Fortnightly&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn query(&amp;amp;self) -&amp;gt; &amp;amp;&amp;#039;static str {&lt;br /&gt;
        r#&amp;quot;&lt;br /&gt;
/* newprojects.rs SLOW_OK */&lt;br /&gt;
SELECT&lt;br /&gt;
  rc_timestamp,&lt;br /&gt;
  rc_title,&lt;br /&gt;
  page_is_redirect&lt;br /&gt;
FROM&lt;br /&gt;
  recentchanges&lt;br /&gt;
  LEFT JOIN page ON rc_cur_id = page_id&lt;br /&gt;
WHERE&lt;br /&gt;
  rc_new = 1&lt;br /&gt;
  AND rc_namespace = 4&lt;br /&gt;
  AND rc_title LIKE &amp;#039;WikiProject%&amp;#039;&lt;br /&gt;
  AND rc_title NOT LIKE &amp;#039;%/%&amp;#039;&lt;br /&gt;
ORDER BY&lt;br /&gt;
  rc_timestamp DESC&lt;br /&gt;
&amp;quot;#&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    async fn run_query(&amp;amp;self, conn: &amp;amp;mut Conn) -&amp;gt; Result&amp;lt;Vec&amp;lt;Row&amp;gt;&amp;gt; {&lt;br /&gt;
        let rows = conn&lt;br /&gt;
            .query_map(&lt;br /&gt;
                self.query(),&lt;br /&gt;
                |(rc_timestamp, rc_title, page_is_redirect)| Row {&lt;br /&gt;
                    rc_timestamp,&lt;br /&gt;
                    rc_title,&lt;br /&gt;
                    page_is_redirect,&lt;br /&gt;
                },&lt;br /&gt;
            )&lt;br /&gt;
            .await?;&lt;br /&gt;
        Ok(rows)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn intro(&amp;amp;self) -&amp;gt; &amp;amp;&amp;#039;static str {&lt;br /&gt;
        &amp;quot;List of created WikiProject pages that aren&amp;#039;t subpages from the past 30 days&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn headings(&amp;amp;self) -&amp;gt; Vec&amp;lt;&amp;amp;&amp;#039;static str&amp;gt; {&lt;br /&gt;
        vec![&amp;quot;Date&amp;quot;, &amp;quot;WikiProject page&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn format_row(&amp;amp;self, row: &amp;amp;Row) -&amp;gt; Vec&amp;lt;String&amp;gt; {&lt;br /&gt;
        let page = if row.page_is_redirect == 1 {&lt;br /&gt;
            format!(&amp;quot;&amp;#039;&amp;#039;[[Project:{}|]]&amp;#039;&amp;#039; (redirect)&amp;quot;, &amp;amp;row.rc_title)&lt;br /&gt;
        } else {&lt;br /&gt;
            format!(&amp;quot;[[Project:{}|]]&amp;quot;, &amp;amp;row.rc_title)&lt;br /&gt;
        };&lt;br /&gt;
        str_vec![row.rc_timestamp, page]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn code(&amp;amp;self) -&amp;gt; &amp;amp;&amp;#039;static str {&lt;br /&gt;
        include_str!(&amp;quot;newprojects.rs&amp;quot;)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;HaleBot</name></author>
	</entry>
</feed>