Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CDNClient: Cope with longer manifest descriptions for some depots #437

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

smcv
Copy link
Contributor

@smcv smcv commented May 5, 2023

Some depots now have a dict like {"public": {"gid": GID, ...}, ...} where we would traditionally have seen a flat dict {"public": GID, ...}. Not all depots have this: at the time of writing,
1628350 "Steam Linux Runtime - Sniper" does, but
1391110 "Steam Linux Runtime - Soldier" does not. Presumably this is a change that is being rolled out gradually to let the Steam client give better estimates of the size of a depot.

Cope with either format, by retrieving the gid field if the nested dict is present.

Resolves: #436

Some depots now have a dict like {"public": {"gid": GID, ...}, ...}
where we would traditionally have seen a flat dict {"public": GID, ...}.
Not all depots have this: at the time of writing,
1628350 "Steam Linux Runtime - Sniper" does, but
1391110 "Steam Linux Runtime - Soldier" does not. Presumably this is a
change that is being rolled out gradually to let the Steam client give
better estimates of the size of a depot.

Cope with either format, by retrieving the gid field if the nested dict
is present.

Resolves: ValvePython#436
Signed-off-by: Simon McVittie <[email protected]>
bob-beck pushed a commit to openbsd/ports that referenced this pull request Aug 2, 2023
CDNClient: Cope with longer manifest descriptions for some depots

should fix most depot download scenarios, where for a while depot and
manifest flags needed to be provided manually. Now it should be enough
to provide -a <AppId> +/- -os linux64
@WinterPhoenix
Copy link

I made a fork that incorporates this PR as well as several other pending PRs in this repo. I don't really particularly want to be the new maintainer for this, but if I'm still using it I may as well.

https://github.com/solsticegamestudios/steam

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] manifests for some Steam apps are now dicts, not plain IDs, causing CDNClient.get_manifests to crash
2 participants