{ "info": { "author": "Alex Marandon", "author_email": "contact@alexmarandon.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3" ], "description": "==================\ndjango-audiotracks\n==================\n\nA Django_ app to publish audio tracks.\n\n.. image:: https://pypip.in/v/django-audiotracks/badge.png\n :target: https://pypi.python.org/pypi/django-audiotracks\n\n.. image:: https://pypip.in/d/django-audiotracks/badge.png\n :target: https://pypi.python.org/pypi/django-audiotracks\n\n.. image:: https://travis-ci.org/amarandon/django-audiotracks.png?branch=master\n :target: https://travis-ci.org/amarandon/django-audiotracks\n\n.. image:: https://coveralls.io/repos/amarandon/django-audiotracks/badge.png?branch=master\n :target: https://coveralls.io/r/amarandon/django-audiotracks\n\nIntroduction\n~~~~~~~~~~~~\n\ndjango-audiotracks is a simple Django_ app that allows your users to publish\naudio tracks in various formats (Ogg Vorbis, Flac, MP3, WAV). It ships with a\ndefault ``Track`` model, a set of views, default templates, podcast feeds and\nsensible default URL configuration. It uses mutagen_ to extract metadata from\naudio files. PIL is required to process images that can be attached to tracks. \n\nDefault templates include the audio player from MediaElement.js_. I've added\nsome custom code for listing pages so that when a track ends playing, the next\none starts playing automatically.\n\n\nInstallation\n~~~~~~~~~~~~\n\n\nUsing PyPi\n__________\n\nYou can install django-audiotracks from PyPI using pip::\n\n $ pip install django-audiotracks\n\n\nFrom GitHub\n___________\n\nClone the repository with::\n\n $ git clone git://github.com/amarandon/django-audiotracks.git\n\nThen install the ``audiotracks`` package in your Python path. A ``setup.py`` script is provided. You\ncan use it with a command such as::\n\n $ cd django-audiotracks\n $ python setup.py install\n\nOr if you wish to modify the code::\n\n $ python setup.py develop\n\nRun the example project\n~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you get django-audiotracks from GitHub, an example project styled with\nTwitter Bootstrap is provided with the source code. You can run it like this::\n\n $ cd /example_project/\n $ python manage.py syncdb # Create initial user at this stage\n $ python manage.py runserver\n\nLog in and start uploading tracks.\n\n\nAdd ``audiotracks`` to your app\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nEdit ``settings.py`` and add ``audiotracks`` to your list of\n``INSTALLED_APPS``. Then synchronize your database with::\n\n $ python manage.py syncdb\n\nEdit your ROOT_URLCONF_ and add a piece of code similar to::\n\n urlpatterns += patterns('',\n # Here we mount the app under /music. Feel free to use something else\n url(\"^music\", include(\"audiotracks.urls\")),\n # Some URLs require a Django username\n url(\"^(?P[\\w\\._-]+)/music\", include(\"audiotracks.urls\")),\n )\n\nVisit the URL ``/music/upload`` to upload your first track.\n\nViews\n~~~~~\n\nUpload\n______\n\n\n* View function: ``upload_track``\n* Default URL: /upload\n\nThis view allows authenticated users to upload a new audio file. Metadata is\nextracted from the file and used to prefill track attributes. Users get\nredirected to the edit view.\n\nEdit\n____\n\n* View function: ``edit_track``\n* Default URL: /edit/\n\nAllow users to edit track attributes such as title, artist name, etc., upload an\nimage to attach to the track or change the audio file. Modified metadata\nis stored back into the audio file itself if the format supports it (eg. it won't\nwork with a WAV file).\n\nDisplay\n_______\n\n* View function: ``track_detail``\n* URL: /track/\n\nDisplay track. The URL pattern must capture a ``username`` argument, it will be\nused in the query to select the track. For example, if the app is mounted using\nthe pattern ``\"^(?P[\\w\\._-]+)/music\"``, a URL such as\n/bob/music/track/love-forever will look for the track which slug is love-forever\nand has been uploaded by bob. A user who is logged in and owns the track can see\nlinks to the edit page for this track. \n\nDelete\n______\n\n* View function: ``confirm_delete`` \n* Default URL: /confirm_delete/\n\nThis is a confirmation page before deletion. Link to this page if you want to\nprovide a link to delete a track.\n\n* View function: ``delete_track`` \n* Default URL: /delete (takes id as POST a param)\n\nThis view takes a track id as a POST parameter and delete the corresponding track.\n\nUser tracks listing\n___________________\n\n* View function: ``user_index``\n* Default URL: /\n\nIf the app is mounted with a pattern containing a username such as\n``\"^(?P[\\w\\._-]+)/music\"``, a URL such as /bob/music will display a\nlist of tracks uploaded by bob.\n\nLatest tracks listing\n_____________________\n\n* View function: ``latest_tracks``\n* Default URL: /\n\nShow latest tracks by all users.\n\n\nPodcast feeds\n_____________\n\n* View function ``feeds.choose_feed``\n* Default URL: /feed and /feed\n\nChoose user feed or global feed depending on whether or not URL contains a\n``username`` parameter\n\n\nM3U playlists\n_____________\n\n* View function ``views.m3u``\n* Default URLs: /m3u and /m3u\n\nServe an M3U_ playlist file.\n\nConfiguration\n~~~~~~~~~~~~~\n\nAUDIOTRACKS_MODEL\n_________________\n\nDefault: ``audiotracks.Track`` (string)\n\nIf the default ``Track`` model doesn't satisfy your needs, you can define your\nown track model that inherits from ``audiotracks.models.AbstractTrack``. For\ninstance if you wish to add tagging you might define a model like this::\n\n class MyTrack(AbstractTrack):\n tags = TagField(_(\"Tags\"))\n\nUse the ``AUDIOTRACKS_MODEL`` setting to tell django-audiotracks about your\nmodel, using the convention ``.``. So if your model\nis called ``MyTrack`` and is located withing the app ``myapp``, use this\nsetting::\n\n AUDIOTRACKS_MODEL = 'myapp.MyTrack'\n\n\nAUDIOTRACKS_PODCAST_LIMIT\n_________________________\n\nDefault: ``10`` (integer)\n\nUse this setting to specify how many tracks podcast feeds should contain.\n\n\nAUDIOTRACKS_PER_PAGE\n____________________\n\nDefault: ``10`` (integer)\n\nUse this setting to specify how many tracks to display per listing page.\n\n\n.. _`Django`: http://djangoproject.com\n.. _`mutagen`: http://code.google.com/p/mutagen/\n.. _`ROOT_URLCONF`: http://docs.djangoproject.com/en/dev/ref/settings/#std:setting-ROOT_URLCONF\n.. _M3U: https://en.wikipedia.org/wiki/M3U\n.. _MediaElement.js: http://mediaelementjs.com/", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/amarandon/django-audiotracks", "keywords": "django audio sound", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-audiotracks", "package_url": "https://pypi.org/project/django-audiotracks/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-audiotracks/", "project_urls": { "Homepage": "https://github.com/amarandon/django-audiotracks" }, "release_url": "https://pypi.org/project/django-audiotracks/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "A pluggable Django app to publish audio tracks", "version": "0.2.4" }, "last_serial": 1269844, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0ff49bf76d8b5cb9fe8cb56e5dd2dd94", "sha256": "66980b8c75f5bb4752d2770b40f33f5ef54a57406ce623ffc5ea23edb5899b8d" }, "downloads": -1, "filename": "django-audiotracks-0.1.tar.gz", "has_sig": false, "md5_digest": "0ff49bf76d8b5cb9fe8cb56e5dd2dd94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17791, "upload_time": "2012-02-21T12:34:16", "url": "https://files.pythonhosted.org/packages/5f/86/7b15d9e43b69fca82acd23f01fc8fde29365bb73b22f01803970bacab817/django-audiotracks-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b8fd98a37412fba3cf2fcbe4cfc92d58", "sha256": "3127b5c9ed9f621d61d15ec7daecb5e60811b849fb8f401002f424ccc980ed59" }, "downloads": -1, "filename": "django-audiotracks-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b8fd98a37412fba3cf2fcbe4cfc92d58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17870, "upload_time": "2012-05-19T13:34:55", "url": "https://files.pythonhosted.org/packages/3d/0a/1b1584865622a5ebc190bbf8acdaa13ec7a8dc8b742a9e0c7ce8b6fa3fec/django-audiotracks-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c2cd6efba8e59440b830867500dfb140", "sha256": "8bb1872f5caa3af82fe1064aee431cb97cd1c9ce712bf2e8ec85ca150be2596b" }, "downloads": -1, "filename": "django-audiotracks-0.2.tar.gz", "has_sig": false, "md5_digest": "c2cd6efba8e59440b830867500dfb140", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136430, "upload_time": "2012-05-25T22:06:03", "url": "https://files.pythonhosted.org/packages/3d/e1/6afe153a3a9dd47643657fff9e6fd7b46dca4849843fafcde55f7bc035ad/django-audiotracks-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "98bd725b633cb37f9739ab335d6f6290", "sha256": "f4b55a420da993f8c2701c3bfb2c41404b658a80ab89b9fe486b91cb5900aa40" }, "downloads": -1, "filename": "django-audiotracks-0.2.1.tar.gz", "has_sig": false, "md5_digest": "98bd725b633cb37f9739ab335d6f6290", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136240, "upload_time": "2012-05-25T22:08:03", "url": "https://files.pythonhosted.org/packages/df/2a/54c924c24efe7ba2f2b4c0ba5a847379aef5ab4bb5cb75ab84536468467a/django-audiotracks-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "bff364a8bb039afc08d0b0606c082175", "sha256": "555a414e80d4c5c15935211058b9bc744c55e0373e682c94c6dac1df982332dd" }, "downloads": -1, "filename": "django-audiotracks-0.2.2.tar.gz", "has_sig": false, "md5_digest": "bff364a8bb039afc08d0b0606c082175", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 135941, "upload_time": "2013-04-08T20:22:14", "url": "https://files.pythonhosted.org/packages/76/7d/9abcce1f01e72855136be31ff7588630ec12e24518d6b5d433e1fc4a9a2a/django-audiotracks-0.2.2.tar.gz" } ], "0.2.3": [], "0.2.4": [ { "comment_text": "", "digests": { "md5": "139cf891b9c5c3b51a483a61e4134e95", "sha256": "63eb4f176ef58bbe13a80f53167ed80f6ea161e8d38e39c68acf179acfce13bc" }, "downloads": -1, "filename": "django-audiotracks-0.2.4.tar.gz", "has_sig": false, "md5_digest": "139cf891b9c5c3b51a483a61e4134e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133524, "upload_time": "2014-10-14T11:40:15", "url": "https://files.pythonhosted.org/packages/7e/b7/f7e48f6747960923b5141b3aaa3b836f0cf330e006092d12af1a96ff3c65/django-audiotracks-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "139cf891b9c5c3b51a483a61e4134e95", "sha256": "63eb4f176ef58bbe13a80f53167ed80f6ea161e8d38e39c68acf179acfce13bc" }, "downloads": -1, "filename": "django-audiotracks-0.2.4.tar.gz", "has_sig": false, "md5_digest": "139cf891b9c5c3b51a483a61e4134e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133524, "upload_time": "2014-10-14T11:40:15", "url": "https://files.pythonhosted.org/packages/7e/b7/f7e48f6747960923b5141b3aaa3b836f0cf330e006092d12af1a96ff3c65/django-audiotracks-0.2.4.tar.gz" } ] }