def idsubmit(self): try: self.mapID = int(self.bmid_ent.get()) self.mapsetID = int(self.bmsid_ent.get()) except ValueError: messagebox.showerror( title="Error", message="ValueError: must enter a number. Please try again.") return load_dotenv() self.BMINFO_KEY = os.getenv('BMINFO_KEY') global search search = Search(self.BMINFO_KEY) if self.mapID != 0 and self.mapsetID == 0: search.setmapID(self.mapID) map_data = search.api_mapID() if map_data == []: messagebox.showerror( title="Error", message="BeatmapID not found, please try again.") return else: pass for data in map_data: global beatmap beatmap = Beatmap(data["beatmap_id"], data["beatmapset_id"], data["title"], data["artist"], data["version"], data["creator"], float(data["diff_approach"]), float(data["diff_size"]), float(data["diff_overall"]), float(data["diff_drain"]), float(data["difficultyrating"]), int(data["hit_length"]), int(data["bpm"])) self.mainwindow() elif self.mapsetID != 0 and self.mapID == 0: search.setmapsetID(self.mapsetID) diffs = search.api_mapsetID() if diffs == []: messagebox.showerror( title="Error", message="BeatmapsetID not found, please try again.") return else: pass self.diff_list = sorted( diffs, key=operator.itemgetter('difficultyrating')) self.diff_names = [] self.song_title = self.diff_list[0]["title"] self.song_artist = self.diff_list[0]["artist"] self.song_mapper = self.diff_list[0]["creator"] for diff in self.diff_list: self.diff_names.append(diff["version"]) self.diffwindow() elif self.mapID != 0 and self.mapsetID != 0: msg = messagebox.askyesnocancel( title="Message", message= "Both values entered. BeatmapID will be used. Do you wish to continue?" ) if msg == True: search.setmapID(self.mapID) map_data = search.api_mapID() for data in map_data: beatmap = Beatmap(int(data["beatmap_id"]), int(data["beatmapset_id"]), data["title"], data["artist"], data["version"], data["creator"], float(data["diff_approach"]), float(data["diff_size"]), float(data["diff_overall"]), float(data["diff_drain"]), float(data["difficultyrating"]), int(data["hit_length"]), int(data["bpm"])) self.mainwindow() else: pass else: messagebox.showerror(title="Error", message="No value entered, please try again.") return