aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorJordan <me@jordan.im>2021-02-19 09:31:49 -0700
committerJordan <me@jordan.im>2021-02-19 09:31:49 -0700
commit53d8bcb0c29f5e7a8492ad715ca25930f997f352 (patch)
tree73b93fe100909dac59ecdee2ab0778107d6d8e13 /README
parent2184788068ef8ad1f57bcaf4dd86c252ff5e5d9c (diff)
downloadroka-53d8bcb0c29f5e7a8492ad715ca25930f997f352.tar.gz
roka-53d8bcb0c29f5e7a8492ad715ca25930f997f352.zip
readme
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