From 759800be93dfffd9ae48457817705a11b73c31f7 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sun, 5 Apr 2020 23:55:56 -0700 Subject: prettify XML response --- run.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/run.py b/run.py index f2899f4..0fd0f0d 100755 --- a/run.py +++ b/run.py @@ -9,6 +9,7 @@ from collections import OrderedDict from operator import getitem from datetime import date, timedelta from flask import Flask, request, Response, render_template, send_file +from xml.dom import minidom abs_path = os.path.dirname(os.path.abspath(__file__)) app = Flask(__name__) @@ -40,6 +41,15 @@ def check_auth(username, password): return ret +def xml_prettify(elem): + ''' + Make our XML response human-readable + ''' + xml_str = ET.tostring(elem, encoding='utf8', method='xml') + xml_dom = minidom.parseString(xml_str) + + return xml_dom.toprettyxml(indent=' ') + @app.route('/') def list_books(): ''' @@ -181,10 +191,7 @@ def list_books(): } ET.SubElement(item, 'enclosure', enc_attr) - return Response( - ET.tostring(rss, encoding='utf8', method='xml'), - mimetype='text/xml' - ) + return Response(xml_prettify(rss), mimetype='text/xml') else: auth = request.authorization if not auth or not check_auth(auth.username, auth.password): -- cgit v1.2.3-54-g00ecf