def remove(self, from_library=False, from_disk=False): """Uninstall a game Params: from_library (bool): Completely remove the game from library, do not set it as uninstalled from_disk (bool): Delete the game files Return: bool: Updated value for from_library """ if from_disk and self.runner: logger.debug("Removing game %s from disk", self.id) self.runner.remove_game_data(game_path=self.directory) # Do not keep multiple copies of the same game existing_games = games_db.get_games_where(slug=self.slug) if len(existing_games) > 1: from_library = True if from_library: logger.debug("Removing game %s from library", self.id) games_db.delete_game(self.id) else: games_db.set_uninstalled(self.id) if self.config: self.config.remove() xdgshortcuts.remove_launcher(self.slug, self.id, desktop=True, menu=True) self.is_installed = False self.emit("game-removed") return from_library
def lutris_games(self): """Iterates through Lutris games imported from XDG""" yield from get_games_where( runner=XDGGame.runner, installer_slug=XDGGame.installer_slug, installed=1, )