from ispoof.objects.player import Player from ispoof.spoofer.scraper import Scraper from ispoof.spoofer.device import Device from sqlalchemy import create_engine from ispoof.lists.pokemonlist import PokemonList from ispoof.data import initialize_database import traceback if __name__ == "__main__": device = Device() image_path = "DeveloperDiskImage.dmg" signature_path = "DeveloperDiskImage.dmg.signature" try: device.mount_image(image_path, signature_path) except Exception as e: # traceback.print_exc() print("Already mounted. Continuing.") engine = create_engine("sqlite:///data.db") initialize_database(engine=engine) player = Player(engine=engine) query = input("Enter your location: ") player.set_location_with_query(query) scraper = Scraper() pokemon_lst = PokemonList(engine=engine) while True: pokemons = scraper.get_hundos() pokemon_lst.insert_to_database(pokemons) print("Spoof to") print("Pokemon List:") pokemons = pokemon_lst.sort_by_name() for i, pokemon in enumerate(pokemons): print(i, pokemon) i = int(input("Choose pokemon: ")) pokemon = pokemons[i] location = pokemon.location device.spoof_gps(location) did_activity = None print(pokemon) while True: activity = input("Did you do any cooldown activities? [Y/N] ").lower() if activity in ("y", "n"): did_activity = activity == "y" break player.change_gps_by_location(location, did_activity) print(f"Current cooldown: {player.get_current_cooldown()} min") while True: continue_prompt = input("Continue? [Y/N] ").lower() if continue_prompt in ("y", "n"): if continue_prompt == "n": device.stop_spoofing() exit(0) else: break