diff options
author | Anthon van der Neut <anthon@mnt.org> | 2017-08-07 09:43:06 +0200 |
---|---|---|
committer | Anthon van der Neut <anthon@mnt.org> | 2017-08-07 09:43:06 +0200 |
commit | 56035ae630d159ce4d4f32264d3f992a24d6014f (patch) | |
tree | a8a01711504430b1f196e6ac9aafd07fe346a2c4 /parser.py | |
parent | be4502b57ac2203e3ad075b18a5a94f87dfcf8dc (diff) | |
download | ruamel.yaml-56035ae630d159ce4d4f32264d3f992a24d6014f.tar.gz |
python 2.7 changes float round-trippign
Diffstat (limited to 'parser.py')
-rw-r--r-- | parser.py | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -532,6 +532,8 @@ class Parser(object): def parse_block_mapping_key(self): # type: () -> Any + next_token = self.scanner.peek_token() + # print('>>>> tk', type(self), next_token, getattr(next_token, 'comment', None)) if self.scanner.check_token(KeyToken): token = self.scanner.get_token() token.move_comment(self.scanner.peek_token()) @@ -560,17 +562,23 @@ class Parser(object): if self.scanner.check_token(ValueToken): token = self.scanner.get_token() # value token might have post comment move it to e.g. block + # pt = self.scanner.peek_token() + # print('pt', pt) if self.scanner.check_token(ValueToken): token.move_comment(self.scanner.peek_token()) else: - token.move_comment(self.scanner.peek_token(), empty=True) + if not self.scanner.check_token(KeyToken): + token.move_comment(self.scanner.peek_token(), empty=True) + # else: empty value for this key cannot move token.comment if not self.scanner.check_token(KeyToken, ValueToken, BlockEndToken): self.states.append(self.parse_block_mapping_key) return self.parse_block_node_or_indentless_sequence() else: self.state = self.parse_block_mapping_key - return self.process_empty_scalar(token.end_mark, - comment=self.scanner.peek_token().comment) + comment = token.comment + if comment is None: + comment=self.scanner.peek_token().comment + return self.process_empty_scalar(token.end_mark, comment=comment) else: self.state = self.parse_block_mapping_key token = self.scanner.peek_token() |