瀏覽代碼

Rename AFC to AfC in most places

main
Ben Kurtovic 4 年之前
父節點
當前提交
1775a34fc5
共有 11 個文件被更改,包括 35 次插入35 次删除
  1. +6
    -6
      README.md
  2. +2
    -2
      commands/afc_pending.py
  3. +2
    -2
      commands/afc_report.py
  4. +5
    -5
      commands/afc_status.py
  5. +2
    -2
      commands/afc_submissions.py
  6. +1
    -1
      tasks/afc_catdelink.py
  7. +2
    -2
      tasks/afc_copyvios.py
  8. +2
    -2
      tasks/afc_dailycats.py
  9. +1
    -1
      tasks/afc_history.py
  10. +9
    -9
      tasks/afc_statistics.py
  11. +3
    -3
      tasks/afc_undated.py

+ 6
- 6
README.md 查看文件

@@ -11,7 +11,7 @@ one that contains its config file).
IRC Commands
------------

- **AFC-related commands** (*afc_pending*, *afc_report*, *afc_status*,
- **AfC-related commands** (*afc_pending*, *afc_report*, *afc_status*,
*afc_submissions*): implements various services for
[Articles for creation](http://en.wikipedia.org/wiki/WP:AFC). It has no
dependencies, but `afc_report` requires the `afc_statistics` task plugin for
@@ -67,24 +67,24 @@ Bot Tasks
---------

- **afc_catdelink**: delinks mainspace categories (or templates, if necessary)
in declined [AFC](http://en.wikipedia.org/wiki/WP:AFC) submissions.
in declined [AfC](http://en.wikipedia.org/wiki/WP:AFC) submissions.

- **afc_copyvios**: checks newly-edited AFC submissions for copyright
- **afc_copyvios**: checks newly-edited AfC submissions for copyright
violations using the bot's built-in copyvio checking support. Takes multiple
config values, including connection info for a MySQL database to store
processed pages and a cache (disabled by default; usable by the
[web interface](https://tools.wmflabs.org/copyvios)). A script to create the
database is in `tasks/schema/afc_copyvios.sql`.

- **afc_dailycats**: creates daily, monthly, and yearly categories for AFC.
- **afc_dailycats**: creates daily, monthly, and yearly categories for AfC.

- **afc_history**: generates charts about AFC submissions over time, including
- **afc_history**: generates charts about AfC submissions over time, including
number of pending submissions throughout the project's history as well as
counts for individual reviewers. Takes multiple config values, including
MySQL database info. A script to create the database is in
`tasks/schema/afc_history.sql`.

- **afc_statistics**: generates statistics for AFC on the current number of
- **afc_statistics**: generates statistics for AfC on the current number of
pending submissions and recently declined or accepted ones. Takes multiple
config values, including MySQL database info. A script to create the database
is in `tasks/schema/afc_statistics.sql`.


+ 2
- 2
commands/afc_pending.py 查看文件

@@ -22,8 +22,8 @@

from earwigbot.commands import Command

class AFCPending(Command):
"""Link the user to the pending AFC submissions page and category."""
class AfCPending(Command):
"""Link the user to the pending AfC submissions page and category."""
name = "pending"
commands = ["pending", "pend"]



+ 2
- 2
commands/afc_report.py 查看文件

@@ -23,8 +23,8 @@
from earwigbot import wiki
from earwigbot.commands import Command

class AFCReport(Command):
"""Get information about an AFC submission by name."""
class AfCReport(Command):
"""Get information about an AfC submission by name."""
name = "report"

def process(self, data):


+ 5
- 5
commands/afc_status.py 查看文件

@@ -24,7 +24,7 @@ import re

from earwigbot.commands import Command

class AFCStatus(Command):
class AfCStatus(Command):
"""Get the number of pending AfC submissions, open redirect requests, and
open file upload requests."""
name = "status"
@@ -143,7 +143,7 @@ class AFCStatus(Command):
return self.site.get_category(catname).pages

def count_submissions(self):
"""Returns the number of open AFC submissions (count of CAT:PEND)."""
"""Returns the number of open AfC submissions (count of CAT:PEND)."""
minus = len(self.ignore_list)
return self.site.get_category("Pending AfC submissions").pages - minus

@@ -167,9 +167,9 @@ class AFCStatus(Command):
return files

def get_aggregate(self, num):
"""Returns a human-readable AFC status based on the number of pending
AFC submissions, open redirect requests, and open FFU requests. This
does not match {{AFC status}} directly because the algorithm factors in
"""Returns a human-readable AfC status based on the number of pending
AfC submissions, open redirect requests, and open FFU requests. This
does not match {{AfC status}} directly because the algorithm factors in
WP:AFC/R and WP:FFU while the template only looks at the main
submissions. The reasoning is that AFC/R and FFU are still part of
the project, so even if there are no pending submissions, a backlog at


+ 2
- 2
commands/afc_submissions.py 查看文件

@@ -23,8 +23,8 @@
from earwigbot import wiki
from earwigbot.commands import Command

class AFCSubmissions(Command):
"""Link the user directly to some pending AFC submissions."""
class AfCSubmissions(Command):
"""Link the user directly to some pending AfC submissions."""
name = "submissions"
commands = ["submissions", "subs"]



+ 1
- 1
tasks/afc_catdelink.py 查看文件

@@ -22,7 +22,7 @@

from earwigbot.tasks import Task

class AFCCatDelink(Task):
class AfCCatDelink(Task):
"""A task to delink mainspace categories in declined [[WP:AFC]]
submissions."""
name = "afc_catdelink"


+ 2
- 2
tasks/afc_copyvios.py 查看文件

@@ -30,7 +30,7 @@ import oursql

from earwigbot.tasks import Task

class AFCCopyvios(Task):
class AfCCopyvios(Task):
"""A task to check newly-edited [[WP:AFC]] submissions for copyright
violations."""
name = "afc_copyvios"
@@ -153,7 +153,7 @@ class AFCCopyvios(Task):
return tag

def is_pending(self, code):
"""Return whether a page is a pending AFC submission."""
"""Return whether a page is a pending AfC submission."""
other_statuses = ["r", "t", "d"]
tmpls = ["submit", "afc submission/submit", "afc submission/pending"]
for template in code.ifilter_templates():


+ 2
- 2
tasks/afc_dailycats.py 查看文件

@@ -24,7 +24,7 @@ from datetime import datetime, timedelta

from earwigbot.tasks import Task

class AFCDailyCats(Task):
class AfCDailyCats(Task):
"""A task to create daily categories for [[WP:AFC]]."""
name = "afc_dailycats"
number = 3
@@ -32,7 +32,7 @@ class AFCDailyCats(Task):
def setup(self):
cfg = self.config.tasks.get(self.name, {})
self.prefix = cfg.get("prefix", "Category:AfC submissions by date/")
self.content = cfg.get("content", "{{AFC submission category header}}")
self.content = cfg.get("content", "{{AfC submission category header}}")
default_summary = "Creating {0} category page for [[WP:AFC|Articles for creation]]."
self.summary = self.make_summary(cfg.get("summary", default_summary))



+ 1
- 1
tasks/afc_history.py 查看文件

@@ -22,7 +22,7 @@

from earwigbot.tasks import Task

class AFCHistory(Task):
class AfCHistory(Task):
"""A task to generate information about AfC submissions over time."""
name = "afc_history"



+ 9
- 9
tasks/afc_statistics.py 查看文件

@@ -37,7 +37,7 @@ from earwigbot.tasks import Task
_DEFAULT_PAGE_TEXT = """<noinclude><!-- You can edit anything on this page \
except for content inside of <!-- stat begin/end -> and <!-- sig begin/end -> \
without causing problems. Most of the chart can be modified by editing the \
templates it uses, documented in [[Template:AFC statistics/doc]]. -->
templates it uses, documented in [[Template:AfC statistics/doc]]. -->
{{NOINDEX}}</noinclude>\
<!-- stat begin --><!-- stat end -->
<span style="font-style: italic; font-size: 85%%;">Last updated by \
@@ -47,13 +47,13 @@ templates it uses, documented in [[Template:AFC statistics/doc]]. -->

_PER_CHART_LIMIT = 1000

class AFCStatistics(Task):
class AfCStatistics(Task):
"""A task to generate statistics for WikiProject Articles for Creation.

Statistics are stored in a MySQL database ("u_earwig_afc_statistics")
accessed with oursql. Statistics are synchronied with the live database
every four minutes and saved once an hour, on the hour, to subpages of
self.pageroot. In the live bot, this is "Template:AFC statistics".
self.pageroot. In the live bot, this is "Template:AfC statistics".
"""
name = "afc_statistics"
number = 2
@@ -72,7 +72,7 @@ class AFCStatistics(Task):
self.revision_cache = {}

# Set some wiki-related attributes:
self.pageroot = cfg.get("page", "Template:AFC statistics")
self.pageroot = cfg.get("page", "Template:AfC statistics")
self.pending_cat = cfg.get("pending", "Pending AfC submissions")
self.ignore_list = cfg.get("ignoreList", [])
default_summary = "Updating statistics for [[WP:WPAFC|WikiProject Articles for creation]]."
@@ -80,9 +80,9 @@ class AFCStatistics(Task):

# Templates used in chart generation:
templates = cfg.get("templates", {})
self.tl_header = templates.get("header", "AFC statistics/header")
self.tl_header = templates.get("header", "AfC statistics/header")
self.tl_row = templates.get("row", "#invoke:AfC|row")
self.tl_footer = templates.get("footer", "AFC statistics/footer")
self.tl_footer = templates.get("footer", "AfC statistics/footer")

# Connection data for our SQL database:
kwargs = cfg.get("sql", {})
@@ -544,12 +544,12 @@ class AFCStatistics(Task):
return content

def _get_status_and_chart(self, content, namespace):
"""Determine the status and chart number of an AFC submission.
"""Determine the status and chart number of an AfC submission.

The methodology used here is the same one I've been using for years
(see also commands.afc_report), but with the new draft system taken
into account. The order here is important: if there is more than one
{{AFC submission}} template on a page, we need to know which one to
{{AfC submission}} template on a page, we need to know which one to
use (revision history search to find the most recent isn't a viable
idea :P).
"""
@@ -569,7 +569,7 @@ class AFCStatistics(Task):
return None, self.CHART_NONE

def get_statuses(self, content):
"""Return a list of all AFC submission statuses in a page's text."""
"""Return a list of all AfC submission statuses in a page's text."""
valid = ["P", "R", "T", "D"]
aliases = {
"submit": "P",


+ 3
- 3
tasks/afc_undated.py 查看文件

@@ -29,7 +29,7 @@ from earwigbot.wiki.constants import *

NS_DRAFT = 118

class AFCUndated(Task):
class AfCUndated(Task):
"""A task to clear [[Category:Undated AfC submissions]]."""
name = "afc_undated"
number = 5
@@ -45,7 +45,7 @@ class AFCUndated(Task):
NS_CATEGORY_TALK]
}
self.aliases = {
"submission": ["AFC submission"],
"submission": ["AfC submission"],
"talk": ["WikiProject Articles for creation"]
}

@@ -72,7 +72,7 @@ class AFCUndated(Task):
counter += 1

def _build_aliases(self):
"""Build template name aliases for the AFC templates."""
"""Build template name aliases for the AfC templates."""
for key in self.aliases:
base = self.aliases[key][0]
aliases = [base, "Template:" + base]


Loading…
取消
儲存