ValvePython/steam

[BUG] SyntaxError: Invalid magic, got b'(DV\x07'

WinterPhoenix opened this issue · 3 comments

Description
It looks like we've got a new VDF format rolling out for appinfo.vdf as part of the Steam Client Beta.

>>> from steam.utils.appcache import parse_appinfo
>>> header, apps = parse_appinfo(open(r"C:\Users\Winter\Desktop\WIP\appinfo.vdf", "rb"))

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Python311_64\Lib\site-packages\steam\utils\appcache.py", line 71, in parse_appinfo
    raise SyntaxError("Invalid magic, got %s" % repr(magic))
SyntaxError: Invalid magic, got b'(DV\x07'

Here's an example appinfo.vdf with this issue:
appinfo_0x07564428.zip

Versions Report

python -m steam.versions_report
steam: 1.4.3

Dependencies:
                 vdf: 3.4
            protobuf: 4.21.11
            requests: 2.26.0
          cachetools: 5.2.0
              gevent: Not Installed
 gevent-eventemitter: Not Installed
       pycryptodomex: 3.16.0
              enum34: Not Installed
       win-inet-pton: Not Installed

Python runtime:
          executable: D:\Python311_64\python.exe
             version: 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]
            platform: win32

System info:
              system: Windows
             machine: AMD64
             release: 10
             version: 10.0.19043

Related Issues
leovp/steamfiles#22, Matoking/protontricks#189

Looks like they've changed the format

Fix released in 1.4.4

Thanks for the quick patch!