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

הבקשה נשלחה לפבריקטור הבקשה נשלחה לפבריקטור
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 '[[קטע:' '[[' '{{קטע:' '{{:'

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