היי,
קיבלתי API שאני אמור להוציא ממנו נתונים ל-DB.
דוגמה למבנה של ה-API:
Data =
{Game: {GameID: xxx, Commissions: {RevShare: 0.2, BonusCap: 0.5}, Type: Standard}
אז בשביל להוציא את ה-BonusCap אני מריץ
'Data.get(‘Game’).get(‘Commissions’).get('BonusCap)
אך רצה הגורל ויש שורות ב-API שאין להם את שדות Commissions או BonusCap
נגיד שורה כזו -
{Game: {GameID: xxx}, Type: Standard}
לכן בשורות ב-API שאין בהם את שדה Commissions וננסה לריץ DATA.get(‘Game’).get(‘Commissions’) נקבל None.
אבל כשהקוד מנסה להמשיך להריץ את שורת הקוד None.(‘BonusCap’)
ואז אני מקבל שגיאה והקוד נקרס.
יש למישהו רעיון איך אפשר להתמודד עם המצב הזה?
חשבתי ליצור decorator ל-get, שאם פונקציה get מקבלת None שיחזור None ולא שגיאה.
אבל לא מצאתי באינטרנט אם אפשר לשנות פונקציות bulid in ב-python.
ואז חשבתי על try except אבל אז אני צריך לעשות אותו מקונן פעמים - כי יכול להיות מצב ששדה Commissions קיים אבל שדה BonusCap לא קיים.
אשמח לעזרה!