Rainwave Backend
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
api
api_requests
api_tests
backend
etc
libs
rainwave
templates
tests
.gitignore
README
icecast_sync.py
initscript
install.py
relaysetup.py
runtests.py
rw_api.py
rw_backend.py
rw_clear_cache.py
rw_get_next.py
rw_scanner.py
tagset.py

README

This is the back-end and API project for Rainwave 4.

Required Python modules:
	- pyinotify (filesystem monitoring)
	- tornado (webserver)
	- sqlite3 (database)
	- psycopg 2.x (database)
	- pylibmc (memcache)
	- mutagen (ID3 tag reader)
	- nose (test library)
	- PIL (album art) [Debian: python-imaging, Gentoo: dev-python/imaging]
	- psutil (nice and ionice)
	- magic (filetype identification)
	- mp3gain (streaming)

Recommended .git/hooks/pre-commit:
	#!/bin/bash
	python runtests.py --api
	exit $?

To get started on helping with this project:
	- Clone it
	- python runtests.py
	- Fix failing scenarios

To see the TODO list, just grep the code:
	grep -r TODO

You may notice throughout the program that many UPDATE statements are
broken out into loops, rather than letting the database handle it in a JOIN.
There's a reason for this, and until there's a better
way of handling these scenarios, they are greppable by searching for
SQLITE_CANNOT_DO_JOINS_ON_UPDATES.