diff --git a/api/client-server/v1/presence.yaml b/api/client-server/v1/presence.yaml index 16665341..6f8311e4 100644 --- a/api/client-server/v1/presence.yaml +++ b/api/client-server/v1/presence.yaml @@ -206,4 +206,3 @@ paths: title: PresenceEvent allOf: - "$ref": "definitions/event.yaml" - \ No newline at end of file diff --git a/scripts/gendoc.py b/scripts/gendoc.py index e3e8d3d4..e3c3797e 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -71,16 +71,19 @@ def main(): run_through_template("tmp/howto.rst") rst2html("tmp/full_spec.rst", "gen/specification.html") rst2html("tmp/howto.rst", "gen/howtos.html") - cleanup_env() + if "--nodelete" not in sys.argv: + cleanup_env() if __name__ == '__main__': - if len(sys.argv) > 1: - # we accept no args, so they don't know what they're doing! + if len(sys.argv) > 1 and sys.argv[1:] != ["--nodelete"]: + # we accept almost no args, so they don't know what they're doing! print "gendoc.py - Generate the Matrix specification as HTML." print "Usage:" - print " python gendoc.py" + print " python gendoc.py [--nodelete]" print "" print "The specification can then be found in the gen/ folder." + print ("If --nodelete was specified, intermediate files will be " + "present in the tmp/ folder.") print "" print "Requirements:" print " - This script requires Jinja2 and rst2html (docutils)." diff --git a/templating/build.py b/templating/build.py index dadf91ce..ac3d2491 100755 --- a/templating/build.py +++ b/templating/build.py @@ -78,8 +78,13 @@ def main(input_module, file_stream=None, out_dir=None, verbose=False): def wrap(input, wrap=80, initial_indent=""): if len(input) == 0: return initial_indent + # TextWrapper collapses newlines into single spaces; we do our own + # splitting on newlines to prevent this, so that newlines can actually + # be intentionally inserted in text. + input_lines = input.split('\n\n') wrapper = TextWrapper(initial_indent=initial_indent, width=wrap) - return wrapper.fill(input) + output_lines = [wrapper.fill(line) for line in input_lines] + return '\n\n'.join(output_lines) # make Jinja aware of the templates and filters env = Environment(