|
@@ -319,15 +319,18 @@ class WikiProjectTagger(Task): |
|
|
|
|
|
|
|
|
def update_banner(self, banner, job, code): |
|
|
def update_banner(self, banner, job, code): |
|
|
"""Update an existing *banner* based on a *job* and a page's *code*.""" |
|
|
"""Update an existing *banner* based on a *job* and a page's *code*.""" |
|
|
|
|
|
has = lambda key: (banner.has(key) and |
|
|
|
|
|
banner.get(key).value.strip() not in ("", "?")) |
|
|
|
|
|
|
|
|
if job.autoassess is not False: |
|
|
if job.autoassess is not False: |
|
|
if not banner.has("class") or not banner.get("class").value: |
|
|
|
|
|
|
|
|
if not has("class"): |
|
|
assessment = self.get_autoassessment(code, job.autoassess) |
|
|
assessment = self.get_autoassessment(code, job.autoassess) |
|
|
if assessment: |
|
|
if assessment: |
|
|
banner.add("class", assessment) |
|
|
banner.add("class", assessment) |
|
|
if job.append: |
|
|
if job.append: |
|
|
for param in job.append.split(","): |
|
|
for param in job.append.split(","): |
|
|
key, value = param.split("=", 1) |
|
|
key, value = param.split("=", 1) |
|
|
if not banner.has(key) or not banner.get(key).value: |
|
|
|
|
|
|
|
|
if not has(key): |
|
|
banner.add(key, value) |
|
|
banner.add(key, value) |
|
|
|
|
|
|
|
|
def get_autoassessment(self, code, only_classes=None): |
|
|
def get_autoassessment(self, code, only_classes=None): |
|
|