האותיות הקטנות

19/01/2020

בקורס פייתון שלימדתי השבוע חשבתי שיהיה נחמד לשלב שימוש ב Google Translate באחד התרגולים. לפני הקורס חיפשתי בגוגל חבילה לגשת מ Python ל Google Translate וכמובן תוצאה ראשונה היתה חבילה בשם googletrans.

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

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

ue to limitations of the web version of google translate, this API does not guarantee that the library would work properly at all times (so please use this library if you don’t care about stability).

זה קטן, זה בסוגריים, וזה מסביר הכל. החבילה היא לא דרך רשמית לגשת ל Google Translate. כותב החבילה ניגש לממשק ה Web של השירות, וכשניסינו להריץ את השאילתות מהכיתה הממשק זיהה אותנו בתור מתקפת DOS וחסם את הנתב הכיתתי.

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