From 5d2827f8ba1f2ebeaef347fd7dd62f2de845cf99 Mon Sep 17 00:00:00 2001 From: Jordan Date: Sun, 5 Apr 2020 23:45:39 -0700 Subject: sort listing by title, demo link --- run.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'run.py') diff --git a/run.py b/run.py index 095c9ab..f2899f4 100755 --- a/run.py +++ b/run.py @@ -5,6 +5,8 @@ import mimetypes import os import re import xml.etree.cElementTree as ET +from collections import OrderedDict +from operator import getitem from datetime import date, timedelta from flask import Flask, request, Response, render_template, send_file @@ -14,11 +16,16 @@ app.config.from_pyfile(os.path.join(abs_path, 'app.cfg')) cache_path = os.path.join(abs_path, 'cache') json_path = os.path.join(cache_path, 'audiobooks.json') -# populate books object from JSON cache +# populate books object from JSON cache sorted by title if os.path.exists(json_path): try: with open(json_path, 'r') as cache: books = json.load(cache) + books = OrderedDict(sorted( + books.items(), + key=lambda x: x[1]['title'] + )) + except Exception: raise ValueError('error loading JSON cache') else: -- cgit v1.2.3-54-g00ecf