diff --git a/.gitignore b/.gitignore index c9b568f..ce11010 100755 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ *.pyc *.swp +*~ +build/ +dist/ +MANIFEST diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..bb3ec5f --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include README.md diff --git a/cli.py b/bin/supysonic-cli similarity index 100% rename from cli.py rename to bin/supysonic-cli diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..e8d85ea --- /dev/null +++ b/setup.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# encoding: utf-8 + +from distutils.core import setup + +setup(name='supysonic', + description='Python implementation of the Subsonic server API.', + keywords='subsonic music', + version='0.1', + url='https://github.com/spl0k/supysonic', + license='AGPLv3', + author='Alban FĂ©ron', + author_email='alban.feron@gmail.com', + long_description=""" + Supysonic is a Python implementation of the Subsonic server API. + + Current supported features are: + + * browsing (by folders or tags) + * streaming of various audio file formats + * transcoding + * user or random playlists + * cover arts (cover.jpg files in the same folder as music files) + * starred tracks/albums and ratings + * Last.FM scrobbling + """, + packages=['supysonic', 'supysonic.api', 'supysonic.frontend', + 'supysonic.managers'], + scripts=['bin/supysonic-cli'], + package_data={'supysonic': ['templates/*.html']} + ) diff --git a/supysonic/web.py b/supysonic/web.py index 9aa1626..15ae154 100644 --- a/supysonic/web.py +++ b/supysonic/web.py @@ -21,7 +21,7 @@ import os.path from flask import Flask -from supysonic import config, db +from supysonic import config def teardown(exception): db.session.remove() @@ -35,6 +35,7 @@ def create_application(): if not os.path.exists(config.get('base', 'cache_dir')): os.makedirs(config.get('base', 'cache_dir')) + from supysonic import db db.init_db() app = Flask(__name__)