Exemple #1
0
def command():
    client = SteamClient()
    client.set_credential_location(settings.STEAM_SENTRY_DIR)

    for index, username in enumerate(settings.STEAM_USERNAMES):
        click.echo(f"Logging into Steam as {username}...")
        client.cli_login(username=username,
                         password=settings.STEAM_PASSWORDS[index])

        time.sleep(5)

        # copy to correct location for `auth-ticket.js`
        src = os.path.join(settings.STEAM_SENTRY_DIR, f"{username}_sentry.bin")
        dest = os.path.join(settings.STEAM_SENTRY_DIR,
                            f"sentry.{username}.bin")
        copy2(src, dest)

        click.echo("Login successful. Steam Guard should not prompt anymore")
        client.logout()
Exemple #2
0
from __future__ import print_function
from steam.client import SteamClient
from steam.enums import EResult

client = SteamClient()

print("One-off login recipe")
print("-" * 20)

result = client.cli_login()

if result != EResult.OK:
    print("Failed to login: %s" % repr(result))
    raise SystemExit

print("-" * 20)
print("Logged on as:", client.user.name)
print("Community profile:", client.steam_id.community_url)
print("Last logon:", client.user.last_logon)
print("Last logoff:", client.user.last_logoff)

client.logout()
Exemple #3
0
def main(local_mode = True):
    try:
        steam_path = get_steam_installpath()
    except:
        print("Could not find steam install path")
        sys.exit(1)
    print("Steam path:",steam_path)
    local_mode = True

    if local_mode:
        try:

            steamid = SteamID(get_steamid_local(steam_path))
            if not steamid.is_valid():
                steamid = SteamID(input_steamid())
            if not steamid.is_valid():
                sys.exit(2)
            print("SteamID:",steamid.as_32)
            steam_grid_path = STEAM_GRIDPATH.format(steam_path,steamid.as_32)
            if not os.path.isdir(steam_grid_path):
                os.mkdir(steam_grid_path)
            print("Steam grid path:",steam_grid_path)
            print("Reading cached appinfo")
            owned_apps = get_app_details_local(steam_path)
            print("Total apps in library:",len(owned_apps))
            missing_cover_apps =  get_missing_cover_apps(owned_apps)
            missing_cover_appids = set(missing_cover_apps.keys())
        except Exception as error:
            print(error)
            print("Switch to remote mode")
            local_mode = False


    if not local_mode:
        client = SteamClient()
        owned_apps = []
        if client.cli_login() != EResult.OK:
            print("Login Error")
            sys.exit(3)
        else:
            print("Login Success")

        steamid = client.steam_id
        print("SteamID:",steamid.as_32)
        steam_grid_path = STEAM_GRIDPATH.format(steam_path,steamid.as_32)
        if not os.path.isdir(steam_grid_path):
            os.mkdir(steam_grid_path)
        print("Steam grid path:",steam_grid_path)

    
        owned_packageids = get_owned_packages(client)
        print("Total packages in library:",len(owned_packageids))
        owned_packages = get_package_details(client,owned_packageids)
        print("Retriving package details")
        owned_appids = get_appids_from_packages(owned_packages)
        print("Total apps in library:",len(owned_appids))
        if os.path.exists("missingcoverdb.json"):
            with open("missingcoverdb.json",encoding="utf-8") as f:
                missing_cover_apps = {int(appid):value for appid,value in json.load(f).items()}
            print("Loaded database with {} apps missing covers".format(len(missing_cover_apps)))
        else:
            print("Getting app details")
            owned_apps = get_app_details(client,owned_appids)
            missing_cover_apps =  get_missing_cover_apps(owned_apps)
        client.logout()
        missing_cover_appids = set(missing_cover_apps.keys()) & set(owned_appids)
    print("Total games missing cover in library:",len(missing_cover_appids))
    local_cover_appids = {int(file[:len(file)-5]) for file in os.listdir(steam_grid_path) if re.match(r"^\d+p.(png|jpg)$",file)}
    print("Total local covers found:",len(local_cover_appids))
    local_missing_cover_appids = missing_cover_appids - local_cover_appids
    print("Total missing covers locally:",len(local_missing_cover_appids))
    
    print("Finding covers from steamgriddb.com")
    local_missing_cover_appids = list(local_missing_cover_appids)
    total_downloaded = download_covers_temp(local_missing_cover_appids,steam_grid_path,missing_cover_apps)
    print("Total cover downloaded:",total_downloaded)