#!/usr/bin/env python3

import re
from textwrap import dedent

from voluptuous import Schema

import nestedtext as nt

document = dedent(r"""
    lorum ipsum:
        > Lorem ipsum dolor sit amet,␣
        > consectetur adipiscing elit.
        > Sed do eiusmod tempor incididunt␣
        > ut labore et dolore magna aliqua.
""").replace('␣', ' ')

def fix_newlines(text):
    return text.replace(" \n", " ")

schema = Schema({str: fix_newlines})

def pp(data):
    try:
        text = nt.dumps(data, default=repr)
        print(re.sub(r'^(\s*)[>:][ ]?(.*)$', r'\1\2', text, flags=re.M))
    except nt.NestedTextError as e:
        e.report()

data = schema(nt.loads(document))

print(nt.dumps(data))
pp(data)
