ויקיטקסט:ביטול מרחב קטע
הקדמה
עריכהלאור הנימוקים הבאים, הוחלט לבטל את מרחב השם "קטע".
- קשה למצוא את הדפים במרחב קטע.
- מקשה בתבניות - בחלק משתמשים בקטע ובחלק לא.
- אחידות.
- מקשה בציטוט - למשל כשרוצים להפנות לרש"י על בראשית א א, צריך להפנות לקטע:רש"י על בראשית א א.
- (קל לבצע העברה באמצעות pywikibot)
צורת ההעברה
עריכה- הדפים נמצאים כאן.
- שלב א': הוספת תבניות ניווט בתוך תגי <noinclude></noinclude>, ר' #תבניות ניווט.
- שלב ב': העברת הדפים, ר' #העברת הדפים.
- שלב ג': החלפת המופעים של [[קטע:, {{קטע: וכו' לצורה החדשה, [[ ו-{{: בהתאמה, ראה #החלפת טקסט
- יש להחליף הכללה בנפרד וקישור בנפרד, כי ההכללה צריכה להיות עם נקודותיים בהתחלה וקישור בלי.
- יש להחליף גם בויקיפדיה - אולי ע"י בוט דומה.
- שלב ד': ביטול המרחב באמצעות פתיחת פניה בפבריקטור וקישור לדיון במזנון.
קודים לבוטים
עריכההבוטים כתובים בשפת פייתון דרך pywikibot.
תבניות ניווט
עריכהמפרשי התנ"ך:
python pwb.py add_text -start:! -ns:100 -text:"<noinclude>{{ניווט קטעים|{{ס:שם הדף}}}}</noinclude>" -summary:'הוספת {{ניווט קטעים|{{ס:שם הדף}}}}' -except:"ניווט" -up -always -titleregex:'(מסורה קטנה|תרגום שני|מסורה גדולה|מיוחס לרש\"י|שפ\"ח|רשב\"ם|אבן עזרא|תשובות דונש בן לברט לרב סעדיה גאון|שפת יתר|רד\"ק|רמב\"ן|רבינו בחיי|רלב\"ג|ספורנו|חזקוני|בכור שור|רבנו יונה|אברבנאל|רבי ישעיה די טראני|מלבי\"ם|אלשיך|חיד\"א|כלי יקר|אור החיים|הגאון מווילנה|רבי יוסף אבן כספי|רבי יוסף קרא|מגילת סתרים|מצודות|מצודת ציון|מצודת דוד|העמק דבר|משה דוד ואלי|תו\"א|תולדות אהרן|מכילתא|ספרא|ספרי|התורה והמצוה|ילקוט שמעוני|מנחת שי|בעל הטורים|נחמיאש) על (בראשית|שמות|ויקרא|במדבר|דברים|יהושע|שופטים|שמואל א|שמואל ב|מלכים א|מלכים ב|ישעיהו|ירמיהו|יחזקאל|תרי עשר|הושע|יואל|עמוס|עובדיה|יונה|מיכה|נחום|חבקוק|צפניה|חגי|זכריה|מלאכי|תהלים|משלי|איוב|שיר השירים|רות|אסתר|קהלת|איכה|דניאל|עזרא|נחמיה|דברי הימים א|דברי הימים ב|ישעיה|ירמיה|תהילים)( ק?[ט-צ]?[א-י]?){2}'
מפרשי בראשית רבה (פורמט דפי משנה):
python pwb.py add_text -links:'משתמש:shalomori123/טיוטה' -text:"<noinclude>{{ניווט קטעים|{{ס:שם הדף}}}}</noinclude>" -summary:'הוספת {{ניווט קטעים|{{ס:שם הדף}}}}' -except:"ניווט" -up -always -titleregex:'(יפה תואר|עץ יוסף|רש"י) על בראשית רבה(/[ט-ק]?[א-י]?){2}'
מפרשי התנ"ך שנמצאים כבר במרחב הראשי: (לצורך הבדלתם, התבנית ששמנו בהם היא שונה זמנית)
python pwb.py add_text -links:'משתמש:shalomori123/קישורים לבוט' -text:"<noinclude>{{ניווט קטעים זמני|{{ס:שם הדף}}}}</noinclude>" -summary:'הוספת {{ניווט קטעים זמני|{{ס:שם הדף}}}}' -except:"ניווט" -up -always
שאר הדפים אינם בשלים להעברה ויש לעבור עליהם ידנית ולשלבם במקומם. אפשר למצוא אותם כאן.
העברת הדפים
עריכהimport pywikibot
import re
from pywikibot.bot import (SingleSiteBot, CurrentPageBot, ExistingPageBot, FollowRedirectPageBot)
from pywikibot.pagegenerators import AllpagesPageGenerator
class ketaTransformBot(SingleSiteBot, ExistingPageBot):
def __init__(self):
super().__init__()
self.site = pywikibot.Site()
self.generator = self.site.allpages(namespace=100)
self.edit_page = pywikibot.Page(self.site, 'טיוטה:דפים כפולים בין המרחבים')
def treat(self, page):
if not re.match('קטע:(מסורה קטנה|תרגום שני|מסורה גדולה|רש"י|מיוחס לרש\"י|שפ\"ח|רשב\"ם|אבן עזרא|תשובות דונש בן לברט לרב סעדיה גאון|שפת יתר|רד\"ק|רמב\"ן|רבינו בחיי|רלב\"ג|ספורנו|חזקוני|בכור שור|רבנו יונה|אברבנאל|רבי ישעיה די טראני|מלבי\"ם|אלשיך|חיד\"א|כלי יקר|אור החיים|הגאון מווילנה|רבי יוסף אבן כספי|רבי יוסף קרא|מגילת סתרים|מצודות|מצודת ציון|מצודת דוד|העמק דבר|משה דוד ואלי|תו\"א|תולדות אהרן|מכילתא|ספרא|ספרי|התורה והמצוה|ילקוט שמעוני|מנחת שי|בעל הטורים|נחמיאש) על (בראשית|שמות|ויקרא|במדבר|דברים|יהושע|שופטים|שמואל א|שמואל ב|מלכים א|מלכים ב|ישעיהו|ירמיהו|יחזקאל|תרי עשר|הושע|יואל|עמוס|עובדיה|יונה|מיכה|נחום|חבקוק|צפניה|חגי|זכריה|מלאכי|תהלים|משלי|איוב|שיר השירים|רות|אסתר|קהלת|איכה|דניאל|עזרא|נחמיה|דברי הימים א|דברי הימים ב|ישעיה|ירמיה|תהילים)( ק?[ט-צ]?[א-י]?){2}', page.title()) \
and not re.match('קטע:(יפה תואר|עץ יוסף|רש"י) על בראשית רבה(/[ט-ק]?[א-י]?){2}', page.title()):
print(page.title(), 'skipped')
return
new_title = page.title().replace('קטע:', '')
if page.isRedirectPage():
redirect_to = page.getRedirectTarget()
if redirect_to.title() == new_title:
print(page.title(), 'already moved')
return
if pywikibot.Page(self.site, new_title).exists():
pywikibot.output('New title: "{}" is already exists!'.format(new_title))
if new_title in self.edit_page.text:
return
self.edit_page.text += '\n* [[קטע:{}]] ← [[{}]]'.format(new_title, new_title)
self.edit_page.save()
return
pywikibot.output('Moving page {} to [[{}]]'.format(page, new_title))
page.move(new_title, reason='העברה בעקבות ביטול מרחב השם "קטע"')
bot = ketaTransformBot()
bot.run()
לאחר מכן נצטרך לעבור ידנית על הדף טיוטה:דפים כפולים בין המרחבים שכנראה יווצר במהלך הרצת הבוט.
החלפת טקסט
עריכהpython pwb.py replace -ns:0 '[[קטע:' '[[' '{{קטע:' '{{:'
לאחר מכן יש לעבור על תבניות בולטות שמשתמשות בקטעים ולשנות אותם.