@@ -51,23 +51,30 @@ def parse_json_result(self, input_json_result):
51
51
def parse_json_element (self , input_game_element ):
52
52
current_entry = HowLongToBeatEntry ()
53
53
# Compute base fields
54
- current_entry .game_id = input_game_element ["game_id" ]
55
- current_entry .game_name = input_game_element ["game_name" ]
56
- current_entry .game_alias = input_game_element ["game_alias" ]
57
- current_entry .game_type = input_game_element ["game_type" ]
58
- current_entry .game_image_url = self .IMAGE_URL_PREFIX + input_game_element ["game_image" ]
54
+ current_entry .game_id = input_game_element .get ("game_id" )
55
+ current_entry .game_name = input_game_element .get ("game_name" )
56
+ current_entry .game_alias = input_game_element .get ("game_alias" )
57
+ current_entry .game_type = input_game_element .get ("game_type" )
58
+ if "game_image" in input_game_element :
59
+ current_entry .game_image_url = self .IMAGE_URL_PREFIX + input_game_element .get ("game_image" )
59
60
current_entry .game_web_link = self .GAME_URL_PREFIX + str (current_entry .game_id )
60
- current_entry .review_score = input_game_element ["review_score" ]
61
- current_entry .profile_dev = input_game_element ["profile_dev" ]
62
- current_entry .profile_platforms = input_game_element ["profile_platform" ].split (", " )
63
- current_entry .release_world = input_game_element ["release_world" ]
61
+ current_entry .review_score = input_game_element .get ("review_score" )
62
+ current_entry .profile_dev = input_game_element .get ("profile_dev" )
63
+ if "profile_platform" in input_game_element :
64
+ current_entry .profile_platforms = input_game_element .get ("profile_platform" ).split (", " )
65
+ current_entry .release_world = input_game_element .get ("release_world" )
64
66
# Add full JSON content to the entry
65
67
current_entry .json_content = input_game_element
66
68
# Add a few times elements as help for the user
67
- current_entry .main_story = round (input_game_element ["comp_main" ] / 3600 , 2 )
68
- current_entry .main_extra = round (input_game_element ["comp_plus" ] / 3600 , 2 )
69
- current_entry .completionist = round (input_game_element ["comp_100" ] / 3600 , 2 )
70
- current_entry .all_styles = round (input_game_element ["comp_all" ] / 3600 , 2 )
69
+ # Calculate only if value is not None
70
+ if "comp_main" in input_game_element :
71
+ current_entry .main_story = round (input_game_element .get ("comp_main" ) / 3600 , 2 )
72
+ if "comp_plus" in input_game_element :
73
+ current_entry .main_extra = round (input_game_element .get ("comp_plus" ) / 3600 , 2 )
74
+ if "comp_100" in input_game_element :
75
+ current_entry .completionist = round (input_game_element .get ("comp_100" ) / 3600 , 2 )
76
+ if "comp_all" in input_game_element :
77
+ current_entry .all_styles = round (input_game_element .get ("comp_all" ) / 3600 , 2 )
71
78
# Compute Similarity
72
79
game_name_similarity = self .similar (self .game_name , current_entry .game_name ,
73
80
self .game_name_numbers , self .similarity_case_sensitive )
0 commit comments