Maintenance v4
Created by: loka1
ملخص التعديل
تم تعديل الكود لمحاوله استخدام بناء يشبه Command Pattern حتي تمر المقال علي طبقات او خطوات الفحص مثل فحص حاله المقال من حيث المراجعه وحاله المقال من حيث وجود التصنيفات الخ ......
هنا مثال مبسط عن شكل الكود الناتج في النهايه
import pywikibot
class Step1:
def __init__(self, page, text, summary):
self.page = page
self.text = text
self.summary = summary
def __call__(self):
# some processing
processed_text = self.text
processed_summary = self.summary + " - step 1"
return processed_text, processed_summary
def add_text(self, text):
self.text += text
class Step2:
def __init__(self, page, text, summary):
self.page = page
self.text = text
self.summary = summary
def __call__(self):
# some processing
processed_text = self.text
processed_summary = self.summary + " - step 2"
return processed_text, processed_summary
def change_summary(self, summary):
self.summary = summary
class Pipeline:
def __init__(self, page, text, summary, steps):
self.page = page
self.text = text
self.summary = summary
self.steps = steps
def process(self):
for step in self.steps:
self.text, self.summary = step(self.page, self.text, self.summary)
return self.text, self.summary
site = pywikibot.Site("en", "wikipedia")
page = pywikibot.Page(site, "Example")
text = page.text
summary = "Initial text"
steps = [Step1, Step2]
pipeline = Pipeline(page, text, summary, steps)
processed_text, processed_summary = pipeline.process()
# write processed text back to the page
page.text = processed_text
page.save("Update page using pipeline", summary=processed_summary)
المهام الجديده التي تم اضافافتها
- أضاف وسم غير مصنفة
- مقالات بحاجة لشريط بوابات
- أضاف وسم لا مصدر
- إضافة/إزالة وسم يتيمة
- إضافة/إزالة وسم وصلات قليلة
- إضافة/إزالة وسم نهاية مسدودة