משתמש:Tomerbot/אפיון מערכת

מתוך ויקיפדיה, האנציקלופדיה החופשית

חלק מרעיון הוויקי הוא שסך תרומות המשתמשים גדול מסכום חלקיו. עריכות ותיקונים של משתמשים משפרים את התוכן. לפיכך, אין טעם להגביל את השימוש בעבודה שנעשתה רק לוויקיפדיה בעברית, אם נעשתה עבודה טובה בוויקיפדיה אחת כדאי להשתמש בה כדי להשביח את שאר הוויקיפדיות.

מטרה[עריכת קוד מקור | עריכה]

מטרת בוט זה לסייע באכלוס קטגוריות קיימות או חדשות בדרך אוטומטית. הבוט אינו פותח קטגוריות חדשות, אך מדווח עליהן לפתיחה ידנית. הבוט יקבל שם קטגוריה בשפה זרה ויאכלס הקטגוריה העברית ואת כל תת הקטגוריות שלה באמצעות שימוש בבינוויקי. הבוט יופעל ע"י תומר א. לאחר אישור דגל בוט.

שיטה[עריכת קוד מקור | עריכה]

  1. בקשה - ויקיפד המבקש להשתמש בבוט ישתמש בתבנית מיוחדת בה יציין את שמות הקטגוריות שברצונו לאכלס.
  2. הפעלה - משתמשים שיוגדרו יפעילו את הבוט באמצעות חתימה בתחתית הבקשה. הבוט יבדוק באופן אוטומטי שהבקשה אושרה ויתחיל את פעולתו.
  3. פעולה - הבוט יוריד את דף הקטגוריה בשפה הזרה וימצא את הבינוויקי שלו --> ימשוך את שמות הערכים בקטגוריה הזרה --> יחפש עבור כל ערך את הבינוויקי שלו --> יפתח את הערך בעברית --> יחפש את המקום המתאים לקטגוריה --> יוסיף את הקטגוריה העברית. פעולה זו תתבצע עבור כל תת-קטגוריה. מידע נוסף ניתן למצוא בסעיף משתמש:Tomerbot/אפיון מערכת#טכנולוגיה
  4. תיעוד - הבוט יצור דף (לוג) מיוחד שיכיל את כל הפעולות שביצע.
  5. סיום - הבוט יעדכן את תבנית הבקשה עם קישור לדף התיעוד ויודיע למבקש הבקשה ולמפעיל הבוט על סיום הריצה בדף השיחה שלהם.


טכנולוגיה[עריכת קוד מקור | עריכה]

הבוט נכתב בשפת פייתון תוך שימוש בAPI-ים מיוחדים לוויקיפדיה.

פסאודו-קוד[עריכת קוד מקור | עריכה]

בוט קטגוריות(שם קטגוריה בשפה זרה)

  1. אם לקטגוריה יש בינוויקי לעברית בצע:
  2. interwiki <-- שם הבינוויקי
    1. עבור כל ערך בקטגוריה:
      1. מצא בינוויקי
      2. אם קיים בינוויקי לערך:
        1. פתח את הערך בעברית עפ"י הבינוויקי
        2. מצא את רשימת הקטגוריות
        3. הוסף את interwiki לתחילת רשימת הקטגוריות
        4. הוסף שורה המציינת את השינוי לקובץ לוג.
    2. אם לקטגוריה קיימות תת-קטגוריות בצע:
  3. עבור כל תת קטגוריה בצע:
    1. קרא באופן רקורסיבי לבוט קטגוריות(שם תת-קטגוריה בשפה זרה)
  4. כתוב את קובץ הלוג למקומו המתאים
  5. עדכן את תבנית הבקשה וכתוב בדפי המשתמש של המשתמש המבקש והמשתמש המפעיל לגבי סיום הריצה.

פייתון קוד[עריכת קוד מקור | עריכה]


שגיאות פרמטריות בתבנית:להשלים

פרמטרי חובה [ נושא ] חסרים

נקודות שכדאי לשים לב אליהן[עריכת קוד מקור | עריכה]

כל משתמש רשאי להוסיף לפסקה זו

  • הפניות - כיצד יש לטפל בערכים בהם הבינוויקי הוא הפניה? תומר א. - שיחה
    • בוצע בוצע - כעת הבוט עוקב אחרי ההפניה לערך החדש, אינו מתקן באנגלית ומוסיף את הקטלוג לערך המתאים. תומר א. - שיחה
  • ביוויקי כפולים - כיצד יש לטפל בערכים באנגלית המכילים בינוויקי כפולים? תומר א. - שיחה
  • הימנעות מקטלוג כפול. תומר א. - שיחה
  • בקרה ע"י ויקיפד אנושי בסוף הריצה! תומר א. - שיחה
  • ערכים הנמצאים בקטגורית משנה שאין לה בינוויקי, האם יש לשייך לקטגוריה הראשית או לא לשייך בכלל. תומר א. - שיחה
  • מה עושים עם ערכים שלא משוייכים לקטגוריה (כרגע הבוט מוצא את המקום הנכון להוסיף קטגוריות עפ"י מיקום שאר הקטגוריות). תומר א. - שיחה
  • בדיקות - יש להגדיר רשימת בדיקות לפני תחילת הרצה.
  • העתקת כל תת-הקטגוריות של קטגוריה מסוימת מאנגלית לעברית עלולה ליצור פיצול יתר בעברית, שבו בכל תת-קטגוריה יש רק ערך אחד (עקב מספר הערכים באנגלית, הגדול פי 30 ממספר הערכים בעברית). לפיכך נדרשת אפשרות שקטגוריה וכל תת-הקטגוריות שלה באנגלית יאוכלסו לקטגוריה אחת בעברית. דוד שי - שיחה 06:10, 13 בפברואר 2009 (IST)
  • כאשר מריצים את הקוד על קטגוריה בעלת עומק גדול של תת-קטגוריות זה מתכון לבלאגן. בנוסף, קיימות קטגוריות הבנויות באופן מעגלי (כלומר יכול להתקיים מצב שתת-קטגוריה כלשהי של קטגוריה X היא גם קטגורית אב של קטגוריה X) ולכן בגלל המבנה הרקורסיבי של הקוד תתקבל סוג של לולאה אינסופית. כדי לפתור את זה אני מציע שבנוסף לשם הקטגוריה הקלט יכלול גם מספר המציין את עומק הקטגוריות לביצוע ואז בכל קריאה רקורסיבית המספר יופחת ב-1. תנאי עצירה לקריאה הרקורסיבית יהיה כאשר העומק שווה אפס. Crazy Ivanשיחה 14:31, 13 בפברואר 2009 (IST)

פיצ'רים[עריכת קוד מקור | עריכה]

כל משתמש רשאי להוסיף בקשה לפיצ'ר בפסקה זו

  1. בוצע בוצע אכלוס תת קטגוריות (הבוט המקורי מסוגל לאכלס רק קטגוריות בודדות) תומר א. - שיחה
  2. תמיכה בשפות נוספות מלבד אנגלית. תומר א. - שיחה 14:13, 12 בפברואר 2009 (IST)
  3. בוצע בוצע רצוי ליצור מנגנון שאיתו ניתן יהיה להריץ בקלות שוב את הבוטים שכבר נכתבו, על קטגוריות שכבר אוכלסו דרכם, כל כמה חודשים מחדש tomtom - שיחה 21:29, 11 בפברואר 2009 (IST)
  4. בוצע בוצע צריך להריץ ריצה מקדימה שרק סורקת ומדווחת אילו קטגוריות חסרות ואותן יש לפתוח קודם ידנית או בעזרת בוט
  5. בוצע בוצע תמיכה ברשימה מתוך ערך. למשל נצטרך להכין רשימה מיוחדת מתוך הערך w:List of Nobel laureates by country במבנה לעדכון, ולעדכן מתוך הרשימה הזו. יש להכין מענה לדרישה זו בדרך תשתיתית מובנית.
    1. להכין מפרט של הרשימה הזו ומה להזין בה. אולי אפילו תבנית:רשימה לבוט אכלוס הקטגוריות חגי אדלרשיחהל-100 ערי מיליונים אין עדיין ערך. קחו אחת! • כ"ח בשבט ה'תשס"ט • 07:51, 22 בפברואר 2009 (IST)
  6. פרמטר שמוסיף {{מיון רגיל}} בסוף ריצה. תומר א. - שיחה
  7. פתיחת קטגוריות מתוך רשימה. תומר א. - שיחה
  8. ערכים ללא קטגוריות - להכניס לאבא. תומר א. - שיחה 21:05, 18 בפברואר 2009 (IST)
  9. כתיבת לוג בסיום כל קטגוריה. תומר א. - שיחה
  10. בריצה המקדימה:
    1. להוסיף נתונים להחלטה, בעיקר מספר הערכים תחת כל קטגוריה באנגלי
    2. לסדר שקטגוריות הבנות יקוננו תחת קטגוריית האב
  11. מנגנון שמאגד קטגוריות בנות לקטגוריית האב לפי פרמטר. למשל, אם הם שמו רק 2 בבי"ס למשפטים של הרווארד en:Category:Harvard Law School faculty, ועוד 2 בבי"ס למנהל עסקים, אתה לא תשלוף, אבל צריך לשים את כולם בקטגוריה:סגל אוניברסיטת הרווארד
  12. מנגנון לקבץ כמה קטנים לאותה קטגוריה, למשל אוניברסיטאות קטנות לתוך קטגוריה:סגל אוניברסיטאות אחרות בארצות הברית
  13. בקטגוריות שאוכלסו על ידי הבוט יש לתת הפנייה לפיסקה המתאימה בארכיון הדיונים. חשבתי לסמן בצורה בולטת על ידי תבנית:מבנה תבנית עבודה.
  14. טיפול כאשר באנגלי יש הפניה לדף פירושונים כמו w:David Gill
  15. פונקציית שחזור לבוט

באגים[עריכת קוד מקור | עריכה]

  • בוצע בוצע מוסיף קטגוריה חדשה עם רווח לפני הקטגוריה ושורה ריקה, לסדר. תומר א. - שיחה