Skip to content

Commit 7349d78

Browse files
committed
Improve error messages
1 parent f2257d7 commit 7349d78

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

src/tomli/_parser.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -299,15 +299,15 @@ def create_dict_rule(src: str, pos: Pos, out: Output) -> tuple[Pos, Key]:
299299
pos, key = parse_key(src, pos)
300300

301301
if out.flags.is_(key, Flags.EXPLICIT_NEST) or out.flags.is_(key, Flags.FROZEN):
302-
raise suffixed_err(src, pos, f"Can not declare {key} twice")
302+
raise suffixed_err(src, pos, f"Cannot declare {key} twice")
303303
out.flags.set(key, Flags.EXPLICIT_NEST, recursive=False)
304304
try:
305305
out.data.get_or_create_nest(key)
306306
except KeyError:
307-
raise suffixed_err(src, pos, "Can not overwrite a value") from None
307+
raise suffixed_err(src, pos, "Cannot overwrite a value") from None
308308

309309
if not src.startswith("]", pos):
310-
raise suffixed_err(src, pos, 'Expected "]" at the end of a table declaration')
310+
raise suffixed_err(src, pos, "Expected ']' at the end of a table declaration")
311311
return pos + 1, key
312312

313313

@@ -317,18 +317,18 @@ def create_list_rule(src: str, pos: Pos, out: Output) -> tuple[Pos, Key]:
317317
pos, key = parse_key(src, pos)
318318

319319
if out.flags.is_(key, Flags.FROZEN):
320-
raise suffixed_err(src, pos, f"Can not mutate immutable namespace {key}")
320+
raise suffixed_err(src, pos, f"Cannot mutate immutable namespace {key}")
321321
# Free the namespace now that it points to another empty list item...
322322
out.flags.unset_all(key)
323323
# ...but this key precisely is still prohibited from table declaration
324324
out.flags.set(key, Flags.EXPLICIT_NEST, recursive=False)
325325
try:
326326
out.data.append_nest_to_list(key)
327327
except KeyError:
328-
raise suffixed_err(src, pos, "Can not overwrite a value") from None
328+
raise suffixed_err(src, pos, "Cannot overwrite a value") from None
329329

330330
if not src.startswith("]]", pos):
331-
raise suffixed_err(src, pos, 'Expected "]]" at the end of an array declaration')
331+
raise suffixed_err(src, pos, "Expected ']]' at the end of an array declaration")
332332
return pos + 2, key
333333

334334

@@ -356,9 +356,9 @@ def key_value_rule(
356356
try:
357357
nest = out.data.get_or_create_nest(abs_key_parent)
358358
except KeyError:
359-
raise suffixed_err(src, pos, "Can not overwrite a value") from None
359+
raise suffixed_err(src, pos, "Cannot overwrite a value") from None
360360
if key_stem in nest:
361-
raise suffixed_err(src, pos, "Can not overwrite a value")
361+
raise suffixed_err(src, pos, "Cannot overwrite a value")
362362
# Mark inline table and array namespaces recursively immutable
363363
if isinstance(value, (dict, list)):
364364
out.flags.set(header + key, Flags.FROZEN, recursive=True)
@@ -375,7 +375,7 @@ def parse_key_value_pair(
375375
except IndexError:
376376
char = None
377377
if char != "=":
378-
raise suffixed_err(src, pos, 'Expected "=" after a key in a key/value pair')
378+
raise suffixed_err(src, pos, "Expected '=' after a key in a key/value pair")
379379
pos += 1
380380
pos = skip_chars(src, pos, TOML_WS)
381381
pos, value = parse_value(src, pos, parse_float)
@@ -457,11 +457,11 @@ def parse_inline_table(src: str, pos: Pos, parse_float: ParseFloat) -> tuple[Pos
457457
pos, key, value = parse_key_value_pair(src, pos, parse_float)
458458
key_parent, key_stem = key[:-1], key[-1]
459459
if flags.is_(key, Flags.FROZEN):
460-
raise suffixed_err(src, pos, f"Can not mutate immutable namespace {key}")
460+
raise suffixed_err(src, pos, f"Cannot mutate immutable namespace {key}")
461461
try:
462462
nest = nested_dict.get_or_create_nest(key_parent, access_lists=False)
463463
except KeyError:
464-
raise suffixed_err(src, pos, "Can not overwrite a value") from None
464+
raise suffixed_err(src, pos, "Cannot overwrite a value") from None
465465
if key_stem in nest:
466466
raise suffixed_err(src, pos, f"Duplicate inline table key {key_stem!r}")
467467
nest[key_stem] = value
@@ -477,7 +477,7 @@ def parse_inline_table(src: str, pos: Pos, parse_float: ParseFloat) -> tuple[Pos
477477
pos = skip_chars(src, pos, TOML_WS)
478478

479479

480-
def parse_basic_str_escape( # noqa: C901
480+
def parse_basic_str_escape(
481481
src: str, pos: Pos, *, multiline: bool = False
482482
) -> tuple[Pos, str]:
483483
escape_id = src[pos : pos + 2]
@@ -492,7 +492,7 @@ def parse_basic_str_escape( # noqa: C901
492492
except IndexError:
493493
return pos, ""
494494
if char != "\n":
495-
raise suffixed_err(src, pos, 'Unescaped "\\" in a string')
495+
raise suffixed_err(src, pos, "Unescaped '\\' in a string")
496496
pos += 1
497497
pos = skip_chars(src, pos, TOML_WS_AND_NEWLINE)
498498
return pos, ""
@@ -503,9 +503,7 @@ def parse_basic_str_escape( # noqa: C901
503503
try:
504504
return pos, BASIC_STR_ESCAPE_REPLACEMENTS[escape_id]
505505
except KeyError:
506-
if len(escape_id) != 2:
507-
raise suffixed_err(src, pos, "Unterminated string") from None
508-
raise suffixed_err(src, pos, 'Unescaped "\\" in a string') from None
506+
raise suffixed_err(src, pos, "Unescaped '\\' in a string") from None
509507

510508

511509
def parse_basic_str_escape_multiline(src: str, pos: Pos) -> tuple[Pos, str]:

0 commit comments

Comments
 (0)