@@ -51,23 +51,30 @@ def parse_json_result(self, input_json_result):
5151 def parse_json_element (self , input_game_element ):
5252 current_entry = HowLongToBeatEntry ()
5353 # 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" )
5960 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" )
6466 # Add full JSON content to the entry
6567 current_entry .json_content = input_game_element
6668 # 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 )
7178 # Compute Similarity
7279 game_name_similarity = self .similar (self .game_name , current_entry .game_name ,
7380 self .game_name_numbers , self .similarity_case_sensitive )
0 commit comments