From 72f829eb7689269474b08c9f3eebe867afc7e6ff Mon Sep 17 00:00:00 2001 From: kwaaak Date: Sun, 2 Nov 2014 20:33:22 +0100 Subject: [PATCH] Update postmangler.py Improve NZB generation by using pretty printing, better readability + compatibility --- newsmangler/postmangler.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/newsmangler/postmangler.py b/newsmangler/postmangler.py index daf6c92..366b12a 100644 --- a/newsmangler/postmangler.py +++ b/newsmangler/postmangler.py @@ -435,9 +435,27 @@ def generate_nzb(self): ) segment.text = str(article.headers['Message-ID'][1:-1]) + # pretty print + def indent(elem, level=0): + i = "\n" + level*" " + if len(elem): + if not elem.text or not elem.text.strip(): + elem.text = i + " " + if not elem.tail or not elem.tail.strip(): + elem.tail = i + for elem in elem: + indent(elem, level+1) + if not elem.tail or not elem.tail.strip(): + elem.tail = i + else: + if level and (not elem.tail or not elem.tail.strip()): + elem.tail = i + + with open(filename, 'wb') as nzbfile: + indent(root) ET.ElementTree(root).write(nzbfile, xml_declaration=True) - + self.logger.info('End generation of %s', filename) # ---------------------------------------------------------------------------