ValvePython / vdf

📜 Package for working with Valve's text and binary KeyValue format
https://pypi.org/project/vdf/
MIT License
165 stars 30 forks source link

I think, single quotation do not need escape. #29

Open aoisensi opened 3 years ago

aoisensi commented 3 years ago

At least Dota 2 interprets \' as they are.

rossengeorgiev commented 3 years ago

Could you the a file that reproduces the issue?

aoisensi commented 3 years ago

https://raw.githubusercontent.com/dotabuff/d2vpkr/master/dota/resource/dota_english.txt Ctrl+F and find '.

rossengeorgiev commented 3 years ago

So the issue is that when you dump a dict, then ' are escaped, correct?

Here are all the characters they escape from the SDK, which includes ': https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/tier1/utlbuffer.cpp#L54-L69

I guess the only way to resolve this is introducing a parameter to enable/disable escaping. That will also resolve #28

aoisensi commented 3 years ago

Yes. But, I want to exclusion only '. I need to escape another characters. The SDK is Source1. Dota2's SDK is Source2. Perhaps the parser of Source1 is not the same as the parser of Source2. I'm using edited version of this library. https://github.com/nihongoka/dota2/blob/7e19285702203957ecb2b50b88de97241305515b/scripts/vdf/__init__.py#L61 https://github.com/ValvePython/vdf/blob/master/vdf/__init__.py#L62 Sorry for late.