I think I'd rather go back to the punch card approach where you put a C in
column 6 for line continuation.


On Fri, Apr 26, 2019 at 2:49 PM Walt Karas <wka...@verizonmedia.com> wrote:

> TL;DR love of Satan
>
> On Fri, Apr 26, 2019 at 2:48 PM Derek Dagit <da...@apache.org> wrote:
>
>> I think it should be consistent.
>>
>> The first line establishes an indentation width of 2 spaces.
>>
>> The second line is a list element that itself is a map of one entry, and
>> your multi-line text is the value for this entry.
>>
>> Since it is nested, in effect we need to indent twice, and so I think that
>> is why 4 spaces works when 2 does not in this case.
>>
>> On Fri, Apr 26, 2019 at 2:32 PM Walt Karas <wka...@verizonmedia.com
>> .invalid>
>> wrote:
>>
>> > So, it seems that with YAML, it sometimes matters whether you use 4
>> spaces
>> > of indentation rather that 2 space of indentation.  Is there some
>> reason we
>> > are choosing to use YAML, other than sheer love of Satan?
>> >
>> > $ cat load.py
>> >
>> > import yaml
>> >
>> > import sys
>> >
>> > f = open(sys.argv[1], 'r')
>> >
>> > y = yaml.load(f)
>> >
>> > print(y)
>> >
>> > $
>> >
>> > $ cat y1.yaml
>> >
>> > a:
>> >
>> >   - b: |
>> >
>> >       one
>> >
>> >       two
>> >
>> >   - c: |
>> >
>> >       three
>> >
>> >       four
>> >
>> > $
>> >
>> > $ cat y2.yaml
>> >
>> > a:
>> >
>> >   - b: |
>> >
>> >     one
>> >
>> >     two
>> >
>> >   - c: |
>> >
>> >     three
>> >
>> >     four
>> >
>> > $
>> >
>> > $ python load.py y1.yaml
>> >
>> > {'a': [{'b': 'one\ntwo\n'}, {'c': 'three\nfour\n'}]}
>> >
>> > $
>> >
>> > $ python load.py y2.yaml
>> >
>> > Traceback (most recent call last):
>> >
>> >   File "load.py", line 4, in <module>
>> >
>> >     y = yaml.load(f)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line
>> 71,
>> > in load
>> >
>> >     return loader.get_single_data()
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py",
>> line
>> > 37, in get_single_data
>> >
>> >     node = self.get_single_node()
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 36,
>> > in get_single_node
>> >
>> >     document = self.compose_document()
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 55,
>> > in compose_document
>> >
>> >     node = self.compose_node(None, None)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 84,
>> > in compose_node
>> >
>> >     node = self.compose_mapping_node(anchor)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 133,
>> > in compose_mapping_node
>> >
>> >     item_value = self.compose_node(node, item_key)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 82,
>> > in compose_node
>> >
>> >     node = self.compose_sequence_node(anchor)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 111,
>> > in compose_sequence_node
>> >
>> >     node.value.append(self.compose_node(node, index))
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 84,
>> > in compose_node
>> >
>> >     node = self.compose_mapping_node(anchor)
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/composer.py", line
>> 127,
>> > in compose_mapping_node
>> >
>> >     while not self.check_event(MappingEndEvent):
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line
>> 98, in
>> > check_event
>> >
>> >     self.current_event = self.state()
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/parser.py", line
>> 428,
>> > in parse_block_mapping_key
>> >
>> >     if self.check_token(KeyToken):
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line
>> 115,
>> > in check_token
>> >
>> >     while self.need_more_tokens():
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line
>> 149,
>> > in need_more_tokens
>> >
>> >     self.stale_possible_simple_keys()
>> >
>> >   File "/usr/local/lib/python2.7/site-packages/yaml/scanner.py", line
>> 289,
>> > in stale_possible_simple_keys
>> >
>> >     "could not find expected ':'", self.get_mark())
>> >
>> > yaml.scanner.ScannerError: while scanning a simple key
>> >
>> >   in "y2.yaml", line 3, column 5
>> >
>> > could not find expected ':'
>> >
>> >   in "y2.yaml", line 4, column 5
>> >
>>
>

Reply via email to