def run_roblox_studio(self, *_): studio_launcher_location = robloxctrl.locate_studio_launcher() if not studio_launcher_location: dialog( "Grapejuice could not locate Roblox Studio. You might have to install it first by going to the " "maintenance tab and clicking 'Install Roblox'") return if not wine_ok(): return run_task_once(RunRobloxStudio, generic_already_running)
def run_roblox_studio(self, *_): studio_launcher_location = robloxctrl.locate_studio_launcher() if not studio_launcher_location: dialog("Grapejuice could not locate Roblox Studio. You might have to install it first by going to the " "maintenance tab and clicking 'Install Roblox'") return if not wine_ok(): return if not logged_into_studio() and yes_no_dialog( "Log into Roblox", "You are currently not signed into Roblox Studio. " "Roblox Studio is known to require an account to use. Would you like to sign in now?" ): xdg_open(variables.roblox_return_to_studio()) else: run_task_once(RunRobloxStudio, generic_already_running)
def run_roblox_installer(self, *_): def no_wine_dialog() -> None: dialog("Grapejuice could not find a working Wine binary, please install Wine using your operating " "system's package manager in order to install and use Roblox.") return None try: wine_bin = variables.wine_binary() if not os.path.exists(wine_bin): return no_wine_dialog() except NoWineError: return no_wine_dialog() if not wine_ok(): return run_task_once(InstallRoblox, generic_already_running)
def test_git_build_ok(): assert winectrl.wine_ok(system_wine="wine-5.5-436-g2b0977fc71", show_dialog=False)
def test_vanilla_ok(): assert winectrl.wine_ok(system_wine="wine-5.0", show_dialog=False) assert winectrl.wine_ok(system_wine="wine-5.0-rc5", show_dialog=False)
def test_ubuntu_not_ok(): assert not winectrl.wine_ok(system_wine="wine-3.0.2 (Ubuntu 4.0.2-1)", show_dialog=False)