Comments (5)
Got bitten by this just now. I have a user whose name starts with an 'x' and saving their home directory path into a config file breaks my app. Not fun.
from toml.
I'm switching to tomli
(included in the standard library of version 3.11) in combination with tomli_w
.
from toml.
We were also bitten by this:
>>> toml.dumps({'A': '\\x2d'})
'A = "\\u002d"\n'
As was already pointed out, this code is at fault:
Lines 99 to 113 in 59d83d0
The code is extremely complicated and must be untangled in order to fix this bug. We didn't attempt it; instead we're planning on switching to tomli
.
from toml.
Ok, I think I've narrowed this down to the presence of \x
in the string:
In [24]: toml.dumps({'a': r'\x43'})
Out[24]: 'a = "\\u0043"\n'
Line 98 in 59d83d0
\x
, but does not ignore \\x
.from toml.
I've created a pull request. However, I notice there are problems with strings like '\x02' which don't seem to work, which my pull request doesn't address.
from toml.
Related Issues (20)
- Multiple-line strings don't get escaped when a TOML format included HOT 1
- Dot in a quoted key is not handled properly
- Single, non-ASCII characters permitted as bare keys. HOT 3
- newlines only with LF
- Missing support for TypedDict HOT 4
- Errors parsing escaped chars HOT 1
- Feature request: Open TOML file on AWS S3 bucket HOT 1
- Preserve inline dict inside an array HOT 2
- Multiline string-values containing "\r\n" followed by "\r\n"-newline not parsed correctly
- Multi-line literal strings parsing error HOT 2
- load() with multipe configs doesn't "merge" it overwrites
- Roundtripping inlined tables with `'000..'` fails.. HOT 3
- Why is there a "dynamic inline table" when you normally want a static type to do dumping? HOT 1
- Continuous fuzzing by way of OSS-Fuzz
- Inline tables with inf/nan as values fail to parse HOT 1
- toml.load(path) no directory found HOT 1
- Loaded datetimes with timezone offset cannot be pickled correctly HOT 2
- cannot encode non-string keys HOT 1
- Cannot roundtrip strings with \x in them HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from toml.