From 3a3cec7a8ed0676709f2996823c5e2ea637b7db4 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Thu, 2 Mar 2017 13:32:46 +0900 Subject: [PATCH] Fix #3488: objects.inv has broken when ``release`` or ``version`` contain return code --- CHANGES | 2 ++ sphinx/builders/html.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 337505b3a..2002915a6 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,8 @@ Bugs fixed to failed PDF build * EPUB file has duplicated ``nav.xhtml`` link in ``content.opf`` except first time build +* #3488: objects.inv has broken when ``release`` or ``version`` contain + return code Testing -------- diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py index eeb32e382..4b4c92bfa 100644 --- a/sphinx/builders/html.py +++ b/sphinx/builders/html.py @@ -849,13 +849,17 @@ class StandaloneHTMLBuilder(Builder): self.finish_tasks.add_task(self.dump_inventory) def dump_inventory(self): + def safe_name(string): + return re.sub("\s+", " ", string) + self.info(bold('dumping object inventory... '), nonl=True) with open(path.join(self.outdir, INVENTORY_FILENAME), 'wb') as f: f.write((u'# Sphinx inventory version 2\n' u'# Project: %s\n' u'# Version: %s\n' u'# The remainder of this file is compressed using zlib.\n' - % (self.config.project, self.config.version)).encode('utf-8')) + % (safe_name(self.config.project), + safe_name(self.config.version))).encode('utf-8')) compressor = zlib.compressobj(9) for domainname, domain in sorted(self.env.domains.items()): for name, dispname, type, docname, anchor, prio in \