mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Further lint cleaning
This commit is contained in:
parent
060af7ff04
commit
83fd9ca83a
@ -6,7 +6,7 @@ import subprocess
|
||||
import urllib.request
|
||||
|
||||
from getpass import getpass
|
||||
from app.classes.steamcmd.steamcmd_command import SteamCMD_command
|
||||
from app.classes.steamcmd.steamcmd_command import SteamCMDcommand
|
||||
|
||||
|
||||
package_links = {
|
||||
@ -169,7 +169,7 @@ class SteamCMD:
|
||||
self._uname = uname if uname else input("Please enter steam username: ")
|
||||
self._passw = passw if passw else getpass("Please enter steam password: ")
|
||||
|
||||
steam_command = SteamCMD_command()
|
||||
steam_command = SteamCMDcommand()
|
||||
return self.execute(steam_command)
|
||||
|
||||
def app_update(
|
||||
@ -189,7 +189,7 @@ class SteamCMD:
|
||||
:param betapassword: Optional parameter for entering beta password.
|
||||
:return: Status code of child process.
|
||||
"""
|
||||
steam_command = SteamCMD_command()
|
||||
steam_command = SteamCMDcommand()
|
||||
if install_dir:
|
||||
steam_command.force_install_dir(install_dir)
|
||||
steam_command.app_update(app_id, validate, beta, betapassword)
|
||||
@ -218,13 +218,13 @@ class SteamCMD:
|
||||
:return: Status code of child process.
|
||||
"""
|
||||
|
||||
steam_command = SteamCMD_command()
|
||||
steam_command = SteamCMDcommand()
|
||||
if install_dir:
|
||||
steam_command.force_install_dir(install_dir)
|
||||
steam_command.workshop_download_item(app_id, workshop_id, validate)
|
||||
return self.execute(steam_command, n_tries)
|
||||
|
||||
def execute(self, cmd: SteamCMD_command, n_tries: int = 1):
|
||||
def execute(self, cmd: SteamCMDcommand, n_tries: int = 1):
|
||||
"""
|
||||
Executes a SteamCMD_command, with added actions occurring sequentially.
|
||||
May retry multiple times on timeout due to valves' timeout on large downloads.
|
||||
@ -257,10 +257,11 @@ class SteamCMD:
|
||||
f"Download timeout! Tries remaining: {n_tries}. Retrying..."
|
||||
)
|
||||
return self.execute(cmd, n_tries - 1)
|
||||
|
||||
# SteamCMD sometimes crashes when timing out downloads, due to
|
||||
# an assert checking that the download actually finished.
|
||||
# If this happens, retry.
|
||||
elif e.returncode == 134:
|
||||
if e.returncode == 134:
|
||||
self._print_log(
|
||||
f"SteamCMD errored! Tries remaining: {n_tries}. Retrying..."
|
||||
)
|
||||
|
@ -1,10 +1,11 @@
|
||||
class SteamCMD_command:
|
||||
class SteamCMDcommand:
|
||||
"""
|
||||
Used to construct a sequence of commands to sequentially be executed by SteamCMD.
|
||||
This reduces the number of required logins, which when using the other provided
|
||||
methods may result in getting rate limited by Steam.
|
||||
To be used with the SteamCMD.execute() method.
|
||||
"""
|
||||
|
||||
_commands = []
|
||||
|
||||
def __init__(self):
|
||||
@ -12,43 +13,51 @@ class SteamCMD_command:
|
||||
|
||||
def force_install_dir(self, install_dir: str):
|
||||
"""
|
||||
Sets the install directory for following app_update and workshop_download_item commands
|
||||
Sets the install directory for following app_update and workshop_download_item
|
||||
commands
|
||||
|
||||
:param install_dir: Directory to install to
|
||||
:return: Index command was added at
|
||||
"""
|
||||
self._commands.append('+force_install_dir "{}"'.format(install_dir))
|
||||
self._commands.append(f"+force_install_dir {install_dir}")
|
||||
return len(self._commands) - 1
|
||||
|
||||
def app_update(self, app_id: int, validate: bool = False, beta: str = '', beta_pass: str = ''):
|
||||
def app_update(
|
||||
self, app_id: int, validate: bool = False, beta: str = "", beta_pass: str = ""
|
||||
):
|
||||
"""
|
||||
Updates/installs an app
|
||||
:param app_id: The Steam ID for the app you want to install
|
||||
:param validate: Optional parameter for validation. Turn this on when updating something
|
||||
:param validate: Optional. Turn this on when updating something
|
||||
:param beta: Optional parameter for running a beta branch.
|
||||
:param beta_pass: Optional parameter for entering beta password.
|
||||
:return: Index command was added at
|
||||
"""
|
||||
self._commands.append('+app_update {}{}{}{}'.format(
|
||||
app_id,
|
||||
' validate' if validate else '',
|
||||
' -beta {}'.format(beta) if beta else '',
|
||||
' -betapassword {}'.format(beta_pass) if beta_pass else '',
|
||||
))
|
||||
self._commands.append(
|
||||
f"+app_update "
|
||||
f"{app_id}"
|
||||
f'{" validate" if validate else ""}'
|
||||
f'{" -beta {}".format(beta) if beta else ""}'
|
||||
f'{" -betapassword {}".format(beta_pass) if beta_pass else ""}'
|
||||
)
|
||||
return len(self._commands) - 1
|
||||
|
||||
def workshop_download_item(self, app_id: int, workshop_id: int, validate: bool = False):
|
||||
def workshop_download_item(
|
||||
self, app_id: int, workshop_id: int, validate: bool = False
|
||||
):
|
||||
"""
|
||||
Updates/installs workshop content
|
||||
:param app_id: The parent application ID
|
||||
:param workshop_id: The ID for workshop content. Can be found in the url.
|
||||
:param validate: Optional parameter for validation. Turn this on when updating something
|
||||
:param validate: Optional. Turn this on when updating something
|
||||
:return: Index command was added at
|
||||
"""
|
||||
self._commands.append('+workshop_download_item {} {}{}'.format(
|
||||
app_id,
|
||||
workshop_id,
|
||||
' validate' if validate else ''
|
||||
))
|
||||
self._commands.append(
|
||||
f"+workshop_download_item "
|
||||
f"{app_id} "
|
||||
f"{workshop_id}"
|
||||
f'{" validate" if validate else ""}'
|
||||
)
|
||||
return len(self._commands) - 1
|
||||
|
||||
def custom(self, cmd: str):
|
||||
@ -70,8 +79,7 @@ class SteamCMD_command:
|
||||
# Replacing with None to keep indexes intact
|
||||
self._commands[idx] = None
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
return False
|
||||
|
||||
def get_cmd(self):
|
||||
params = filter(None, self._commands)
|
||||
|
Loading…
Reference in New Issue
Block a user