vdf icon indicating copy to clipboard operation
vdf copied to clipboard

Parsing failure when value ends with a backslash

Open junhochoi-gamedev opened this issue 5 years ago • 1 comments

Parsing fails even with Escaped=False. vdf.load(open('test.vdf'), merge_duplicate_keys=False, escaped=False)

test.vdf contents:

"ParentKey1"
{
	"ValueKey1"	".\path\"
	"ParentKey2"
	{
		"ValueKey2" "2"
	}
}

Output SyntaxError: vdf.parse: one too many closing parenthasis

Also see examples from Valve documentation https://partner.steamgames.com/doc/sdk/uploading under headings "Depot Build Script" and "App Build Script"

junhochoi-gamedev avatar Jun 10 '20 23:06 junhochoi-gamedev

Generally, VDF supports \ for escapes, but that doesn't look to be the case for those files. File paths on Windows, like the ones in the examples, cannot have ", so escaping is pointless there. There is Desc key, but that probably break if there is " in the value, unless it just ignored. This must be special variation of valve's KVs.

To support this, there will need to be a parameter to disable escaping in load/dump

rossengeorgiev avatar Jan 18 '21 23:01 rossengeorgiev