vdf
vdf copied to clipboard
Nested groups with duplicate keys trivially do not work, even with VDFDict
Input file demo.vdf:
"controller_mappings"
{
"group"
{
"id" "0"
}
"group"
{
"id" "1"
}
}
Test script:
import vdf
with open("demo.vdf") as fp:
v = vdf.load(fp, mapper=vdf.VDFDict)
print(type(v))
print(type(v['controller_mappings']))
print(vdf.dumps(v, pretty=True))
Expected output: (demo.vdf)
Actual output:
<class 'vdf.vdict.VDFDict'>
<class 'vdf.vdict.VDFDict'>
"controller_mappings"
{
"group"
{
"id" "0"
"id" "1"
}
}
Not only is this incorrect, but no error is thrown: the resulting data structure is silently malformed and passed along.