11import sys
22import functools
3+ import re
34from time import time
45
56import requests
@@ -65,9 +66,11 @@ def get_rom_details(self, filename: str, p_igdb_id: int, r_igdb_id: str) -> dict
6566
6667 else :
6768 if p_igdb_id :
69+ search_term : str = re .sub ('[\(\[].*?[\)\]]' , '' , filename_no_ext )
6870 try :
71+
6972 res_details : dict = requests .post ("https://api.igdb.com/v4/games/" , headers = self .headers ,
70- data = f"search \" { filename_no_ext } \" ;fields id, slug, name, summary; where platforms=[{ p_igdb_id } ] & category=0;" ).json ()[0 ]
73+ data = f"search \" { search_term } \" ;fields id, slug, name, summary; where platforms=[{ p_igdb_id } ] & category=0;" ).json ()[0 ]
7174 igdb_id = res_details ['id' ]
7275 slug = res_details ['slug' ]
7376 name = res_details ['name' ]
@@ -78,7 +81,7 @@ def get_rom_details(self, filename: str, p_igdb_id: int, r_igdb_id: str) -> dict
7881 except IndexError :
7982 try :
8083 res_details : dict = requests .post ("https://api.igdb.com/v4/games/" , headers = self .headers ,
81- data = f"search \" { filename_no_ext } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ] & category=10;" ).json ()[0 ]
84+ data = f"search \" { search_term } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ] & category=10;" ).json ()[0 ]
8285 igdb_id = res_details ['id' ]
8386 slug = res_details ['slug' ]
8487 name = res_details ['name' ]
@@ -89,7 +92,7 @@ def get_rom_details(self, filename: str, p_igdb_id: int, r_igdb_id: str) -> dict
8992 except IndexError :
9093 try :
9194 res_details : dict = requests .post ("https://api.igdb.com/v4/games/" , headers = self .headers ,
92- data = f"search \" { filename_no_ext } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ];" ).json ()[0 ]
95+ data = f"search \" { search_term } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ];" ).json ()[0 ]
9396 igdb_id = res_details ['id' ]
9497 slug = res_details ['slug' ]
9598 name = res_details ['name' ]
@@ -112,8 +115,9 @@ def get_rom_details(self, filename: str, p_igdb_id: int, r_igdb_id: str) -> dict
112115
113116 @check_twitch_token
114117 def get_matched_roms (self , filename : str , p_igdb_id : int ) -> list :
118+ search_term : str = re .sub ('[\(\[].*?[\)\]]' , '' , filename .split ('.' )[0 ])
115119 matched_roms : list = requests .post ("https://api.igdb.com/v4/games/" , headers = self .headers ,
116- data = f"search \" { filename . split ( '.' )[ 0 ] } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ];" ).json ()
120+ data = f"search \" { search_term } \" ;fields name, id, slug, summary; where platforms=[{ p_igdb_id } ];" ).json ()
117121 for rom in matched_roms :
118122 res_details : dict = requests .post ("https://api.igdb.com/v4/covers/" , headers = self .headers ,
119123 data = f"fields url; where game={ rom ['id' ]} ;" ).json ()[0 ]
0 commit comments