aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README48
1 files changed, 0 insertions, 48 deletions
diff --git a/README b/README
deleted file mode 100644
index fac2e80..0000000
--- a/README
+++ /dev/null
@@ -1,48 +0,0 @@
-roka: stream directory of audiobooks to podcasting apps via RSS
-
-demo (no audio): https://demo.jordan.im/roka/
-iOS podcast app: https://demo.jordan.im/roka/apple-podcasts.png
-
-installation
-------------
-
-a) copy and populate app.cfg and uwsgi.ini from examples
-
-b) install python dependencies flask and uwsgi
-
- $ pip install --user flask uwsgi
-
-c) run roka.py with --scan to populate audiobook JSON cache (can be re-run to
- update cache upon download of new books)
-
- $ ./roka.py --scan
-
-d) execute uwsgi.sh to start the server
-
- $ ./uwsgi.sh
-
-design decisions
-----------------
-
-1. directories contained within config:ROOT_PATH are marked as audiobooks if and
- only if they contain at least one MP3 file
-
-2. audiobooks are uniquely identifiable by the collective hash of each MP3 file
- contained in the audiobook directory
-
- pro: if the directory structure is changed or files are moved, RSS/download
- link integrity is maintained, preserving app-side listening progress and
- history
-
- con: each MP3 file is hashed, which can be slow on spinning rust w/ large
- collections
-
-3. XML pubDate and list order is derived from MP3 track attributes; if not
- present or duplicates exist, tracks are sorted alphanumerically
-
- if a book's track numbers are unique but incorrect, a preference for filename
- sort can be established by creating an 'ignore_tracknum' file in the
- audiobook's path
-
-4. no rebuild endpoint exists; cache-affecting routines are run externally via
- rebuild.py