summaryrefslogtreecommitdiff
path: root/scanner.py
diff options
context:
space:
mode:
authorsixolet <naomi@seyfer.org>2018-09-05 16:19:17 -0700
committersixolet <naomi@seyfer.org>2018-09-05 16:19:17 -0700
commitc93735f860031c38616acbff83ce7ce55f30f40f (patch)
tree6b8d7564143815720f03207f3449fad37d8c8d68 /scanner.py
parent79195ab05d3f1c4513e8bdd29ad0327612f1ffb5 (diff)
downloadruamel.yaml-c93735f860031c38616acbff83ce7ce55f30f40f.tar.gz
Change an unmatched closing bracket from an IndexError to a ScannerError.
Since it's a problem with the user's document, it should be some kind of YAMLError at least.
Diffstat (limited to 'scanner.py')
-rw-r--r--scanner.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/scanner.py b/scanner.py
index 741cda6..b8e9ece 100644
--- a/scanner.py
+++ b/scanner.py
@@ -532,8 +532,12 @@ class Scanner(object):
# Reset possible simple key on the current level.
self.remove_possible_simple_key()
# Decrease the flow level.
+ if not self.flow_context:
+ raise ScannerError(None, None, 'unmatched ending bracket', self.reader.get_mark())
popped = self.flow_context.pop()
- assert popped == to_pop
+ if popped != to_pop:
+ raise ScannerError(None, None, 'expected %s found %s' % (to_pop, popped),
+ self.reader.get_mark())
# No simple keys after ']' or '}'.
self.allow_simple_key = False
# Add FLOW-SEQUENCE-END or FLOW-MAPPING-END.