ויקיטקסט:ביטול מרחב קטע

מתוך ויקיטקסט, מאגר הטקסטים החופשי
הבקשה נשלחה לפבריקטור הבקשה נשלחה לפבריקטור
T298430
הבקשה טופלה

הקדמה[עריכה]

לאור הנימוקים הבאים, הוחלט לבטל את מרחב השם "קטע".

  • קשה למצוא את הדפים במרחב קטע.
  • מקשה בתבניות - בחלק משתמשים בקטע ובחלק לא.
  • אחידות.
  • מקשה בציטוט - למשל כשרוצים להפנות לרש"י על בראשית א א, צריך להפנות לקטע:רש"י על בראשית א א.
  • (קל לבצע העברה באמצעות 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 '[[קטע:' '[[' '{{קטע:' '{{:'

לאחר מכן יש לעבור על תבניות בולטות שמשתמשות בקטעים ולשנות אותם.