Mopidy-InternetArchive-2.0.0/0000775000175000017500000000000012631577057017213 5ustar tkemmertkemmer00000000000000Mopidy-InternetArchive-2.0.0/setup.cfg0000664000175000017500000000043512631577057021036 0ustar tkemmertkemmer00000000000000[flake8] application-import-names = mopidy_local_sqlite,tests exclude = .git,.tox [wheel] universal = 1 [build_sphinx] source-dir = docs/ build-dir = docs/_build all_files = 1 [upload_sphinx] upload-dir = docs/_build/html [egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/0000775000175000017500000000000012631577057025320 5ustar tkemmertkemmer00000000000000Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/dependency_links.txt0000644000175000017500000000000112631577055031362 0ustar tkemmertkemmer00000000000000 Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/entry_points.txt0000644000175000017500000000010112631577055030602 0ustar tkemmertkemmer00000000000000[mopidy.ext] internetarchive = mopidy_internetarchive:Extension Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/SOURCES.txt0000644000175000017500000000176612631577057027214 0ustar tkemmertkemmer00000000000000.coveragerc .travis.yml CHANGES.rst LICENSE MANIFEST.in README.rst setup.cfg setup.py tox.ini Mopidy_InternetArchive.egg-info/PKG-INFO Mopidy_InternetArchive.egg-info/SOURCES.txt Mopidy_InternetArchive.egg-info/dependency_links.txt Mopidy_InternetArchive.egg-info/entry_points.txt Mopidy_InternetArchive.egg-info/not-zip-safe Mopidy_InternetArchive.egg-info/requires.txt Mopidy_InternetArchive.egg-info/top_level.txt docs/.gitignore docs/Makefile docs/changelog.rst docs/conf.py docs/config.rst docs/index.rst docs/install.rst docs/intro.rst docs/license.rst mopidy_internetarchive/__init__.py mopidy_internetarchive/backend.py mopidy_internetarchive/client.py mopidy_internetarchive/ext.conf mopidy_internetarchive/library.py mopidy_internetarchive/playback.py mopidy_internetarchive/translator.py tests/__init__.py tests/conftest.py tests/test_browse.py tests/test_configmap.py tests/test_extension.py tests/test_images.py tests/test_lookup.py tests/test_playback.py tests/test_search.py tests/test_translator.pyMopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/requires.txt0000644000175000017500000000012712631577055027714 0ustar tkemmertkemmer00000000000000setuptools Mopidy >= 1.1 Pykka >= 1.1 requests >= 2.0 cachetools >= 1.0 uritools >= 1.0Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/not-zip-safe0000644000175000017500000000000112573761035027540 0ustar tkemmertkemmer00000000000000 Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/top_level.txt0000644000175000017500000000002712631577055030045 0ustar tkemmertkemmer00000000000000mopidy_internetarchive Mopidy-InternetArchive-2.0.0/Mopidy_InternetArchive.egg-info/PKG-INFO0000644000175000017500000000635412631577055026421 0ustar tkemmertkemmer00000000000000Metadata-Version: 1.1 Name: Mopidy-InternetArchive Version: 2.0.0 Summary: Mopidy extension for playing music from the Internet Archive Home-page: https://github.com/tkem/mopidy-internetarchive Author: Thomas Kemmer Author-email: tkemmer@computer.org License: Apache License, Version 2.0 Description: Mopidy-InternetArchive ======================================================================== Mopidy-InternetArchive is a Mopidy_ extension for playing music from the `Internet Archive`_. Installation ------------------------------------------------------------------------ Mopidy-InternetArchive can be installed using pip_ by running:: pip install Mopidy-InternetArchive Project Resources ------------------------------------------------------------------------ .. image:: https://img.shields.io/pypi/v/Mopidy-InternetArchive.svg?style=flat :target: https://pypi.python.org/pypi/Mopidy-InternetArchive/ :alt: Latest PyPI version .. image:: https://img.shields.io/pypi/dm/Mopidy-InternetArchive.svg?style=flat :target: https://pypi.python.org/pypi/Mopidy-InternetArchive/ :alt: Number of PyPI downloads .. image:: http://img.shields.io/travis/tkem/mopidy-internetarchive/master.svg?style=flat :target: https://travis-ci.org/tkem/mopidy-internetarchive/ :alt: Travis CI build status .. image:: http://img.shields.io/coveralls/tkem/mopidy-internetarchive/master.svg?style=flat :target: https://coveralls.io/r/tkem/mopidy-internetarchive/ :alt: Test coverage .. image:: https://readthedocs.org/projects/mopidy-internetarchive/badge/?version=latest&style=flat :target: https://readthedocs.org/projects/mopidy-internetarchive/?badge=latest :alt: Documentation Status - `Documentation`_ - `Issue Tracker`_ - `Source Code`_ - `Change Log`_ License ------------------------------------------------------------------------ Copyright (c) 2014, 2015 Thomas Kemmer. Licensed under the `Apache License, Version 2.0`_. .. _Mopidy: http://www.mopidy.com/ .. _Internet Archive: http://archive.org/ .. _pip: https://pip.pypa.io/en/latest/ .. _Documentation: http://mopidy-internetarchive.readthedocs.org/en/latest/ .. _Issue Tracker: https://github.com/tkem/mopidy-internetarchive/issues/ .. _Source Code: https://github.com/tkem/mopidy-internetarchive/ .. _Change Log: https://github.com/tkem/mopidy-internetarchive/blob/master/CHANGES.rst .. _Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 Platform: UNKNOWN Classifier: Environment :: No Input/Output (Daemon) Classifier: Intended Audience :: End Users/Desktop Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 2 Classifier: Topic :: Multimedia :: Sound/Audio :: Players Mopidy-InternetArchive-2.0.0/README.rst0000644000175000017500000000416512631576707020707 0ustar tkemmertkemmer00000000000000Mopidy-InternetArchive ======================================================================== Mopidy-InternetArchive is a Mopidy_ extension for playing music from the `Internet Archive`_. Installation ------------------------------------------------------------------------ Mopidy-InternetArchive can be installed using pip_ by running:: pip install Mopidy-InternetArchive Project Resources ------------------------------------------------------------------------ .. image:: https://img.shields.io/pypi/v/Mopidy-InternetArchive.svg?style=flat :target: https://pypi.python.org/pypi/Mopidy-InternetArchive/ :alt: Latest PyPI version .. image:: https://img.shields.io/pypi/dm/Mopidy-InternetArchive.svg?style=flat :target: https://pypi.python.org/pypi/Mopidy-InternetArchive/ :alt: Number of PyPI downloads .. image:: http://img.shields.io/travis/tkem/mopidy-internetarchive/master.svg?style=flat :target: https://travis-ci.org/tkem/mopidy-internetarchive/ :alt: Travis CI build status .. image:: http://img.shields.io/coveralls/tkem/mopidy-internetarchive/master.svg?style=flat :target: https://coveralls.io/r/tkem/mopidy-internetarchive/ :alt: Test coverage .. image:: https://readthedocs.org/projects/mopidy-internetarchive/badge/?version=latest&style=flat :target: https://readthedocs.org/projects/mopidy-internetarchive/?badge=latest :alt: Documentation Status - `Documentation`_ - `Issue Tracker`_ - `Source Code`_ - `Change Log`_ License ------------------------------------------------------------------------ Copyright (c) 2014, 2015 Thomas Kemmer. Licensed under the `Apache License, Version 2.0`_. .. _Mopidy: http://www.mopidy.com/ .. _Internet Archive: http://archive.org/ .. _pip: https://pip.pypa.io/en/latest/ .. _Documentation: http://mopidy-internetarchive.readthedocs.org/en/latest/ .. _Issue Tracker: https://github.com/tkem/mopidy-internetarchive/issues/ .. _Source Code: https://github.com/tkem/mopidy-internetarchive/ .. _Change Log: https://github.com/tkem/mopidy-internetarchive/blob/master/CHANGES.rst .. _Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 Mopidy-InternetArchive-2.0.0/.travis.yml0000644000175000017500000000054512575462160021321 0ustar tkemmertkemmer00000000000000sudo: false language: python python: - "2.7_with_system_site_packages" addons: apt: sources: - mopidy-stable packages: - mopidy env: - TOX_ENV=py27 - TOX_ENV=flake8 install: - "pip install tox" script: - "tox -e $TOX_ENV" after_success: - "if [ $TOX_ENV == 'py27' ]; then pip install --pre coveralls; coveralls; fi" Mopidy-InternetArchive-2.0.0/tox.ini0000664000175000017500000000065012630647245020523 0ustar tkemmertkemmer00000000000000[tox] envlist = py27, flake8 [testenv] sitepackages = true deps = mock mopidy==dev pytest pytest-cov pytest-xdist install_command = pip install --allow-unverified=mopidy --pre {opts} {packages} commands = py.test --basetemp={envtmpdir} --cov=mopidy_internetarchive --cov-report=term-missing {posargs} [testenv:flake8] deps = flake8 flake8-import-order skip_install = true commands = flake8 Mopidy-InternetArchive-2.0.0/MANIFEST.in0000664000175000017500000000036412630647245020750 0ustar tkemmertkemmer00000000000000include .coveragerc include .travis.yml include CHANGES.rst include LICENSE include MANIFEST.in include README.rst include mopidy_internetarchive/ext.conf include tox.ini recursive-include docs * prune docs/_build recursive-include tests *.pyMopidy-InternetArchive-2.0.0/.coveragerc0000644000175000017500000000004612575462160021325 0ustar tkemmertkemmer00000000000000[run] source = mopidy_internetarchive Mopidy-InternetArchive-2.0.0/setup.py0000664000175000017500000000265612631576457020741 0ustar tkemmertkemmer00000000000000from __future__ import unicode_literals from setuptools import find_packages, setup def get_version(filename): from re import findall with open(filename) as fh: metadata = dict(findall("__([a-z]+)__ = '([^']+)'", fh.read())) return metadata['version'] setup( name='Mopidy-InternetArchive', version=get_version('mopidy_internetarchive/__init__.py'), url='https://github.com/tkem/mopidy-internetarchive', license='Apache License, Version 2.0', author='Thomas Kemmer', author_email='tkemmer@computer.org', description=( 'Mopidy extension for playing music from the Internet Archive' ), long_description=open('README.rst').read(), packages=find_packages(exclude=['tests', 'tests.*']), zip_safe=False, include_package_data=True, install_requires=[ 'setuptools', 'Mopidy >= 1.1', 'Pykka >= 1.1', 'requests >= 2.0', 'cachetools >= 1.0', 'uritools >= 1.0' ], entry_points={ 'mopidy.ext': [ 'internetarchive = mopidy_internetarchive:Extension', ], }, classifiers=[ 'Environment :: No Input/Output (Daemon)', 'Intended Audience :: End Users/Desktop', 'License :: OSI Approved :: Apache Software License', 'Operating System :: OS Independent', 'Programming Language :: Python :: 2', 'Topic :: Multimedia :: Sound/Audio :: Players', ], ) Mopidy-InternetArchive-2.0.0/docs/0000775000175000017500000000000012631577057020143 5ustar tkemmertkemmer00000000000000Mopidy-InternetArchive-2.0.0/docs/intro.rst0000664000175000017500000001103712631576457022035 0ustar tkemmertkemmer00000000000000Introduction ======================================================================== About the Internet Archive Metadata Model ------------------------------------------------------------------------ .. note:: This is just a brief introduction to get you accustomed to some basic Internet Archive concepts and terminology related to this Mopidy extension. For more in-depth information, please refer to the FAQ_ or this `blog post`_. Files published on the Internet Archive are organized in so-called *items*. An item is a directory or folder that includes the originally uploaded content – audio, video, text, etc. – along with any derivative files created from the originals, and some metadata that describes the item. An item may contain a single audio file, or a related set of audio files that represent a CD or a taped live concert. All the files within an item have the same metadata, such as (album) title, creator, description, and so on. For the purpose of this Mopidy extension, Internet Archive items are treated as *albums*, and the included audio files show up as the album's *tracks*. Every item also has a unique identifier, which can be used to access the item on the Internet Archive's Web site:: http://archive.org/details/{identifier} Besides items containing media files, there are also *collections*, which are used to to group related items. The `Audio Archive`_, for example, is the collection item with the identifier *audio*. An item can be a member of more than one collection, and collections may also have sub-collections. Collections show up as *directories* when browsing Mopidy. Browsing the Internet Archive ------------------------------------------------------------------------ If your Mopidy client supports browsing, there should be a top-level directory named *Internet Archive*. Beneath that, you will find the Internet Archive collections listed in :confval:`internetarchive/collections`, and you should be able to browse individual audio items (albums) and files (tracks) within these. For practical and performance reasons, the number of items that will be shown within a collection is limited, e.g. you will not see all 147,929 audio items of the Live Music Archive [#footnote1]_. The :ref:`default configuration ` sets this limit to 100, but this can be changed using :confval:`internetarchive/browse_limit`. To allow browsing collections using different sort criteria, every collection provides a number of *views*, virtual subdirectories which let you browse the collection's items by popularity, title, publish date, and so on. The default views are set up to resemble the archive.org_ Web interface, but can be changed at your own discretion with :confval:`internetarchive/browse_views`. Searching the Internet Archive ------------------------------------------------------------------------ The Internet Archive only supports searching for *items*, but not for individual files or tracks. Therefore, only *albums* will show up when searching in Mopidy. This also means that only album-related search fields are supported, so searching for track names or numbers will yield no results from the Internet Archive. The number and ordering of search results returned from the Internet Archive can be changed with :confval:`internetarchive/search_limit` and :confval:`internetarchive/search_order`. Unless you explicitly specify an Internet Archive collection to search within, search scope will also be limited to the collections listed in :confval:`internetarchive/collections`. Archive Favorites ------------------------------------------------------------------------ If you have an Internet Archive account - also termed a `Virtual Library Card`_ - you can access your `Archive Favorites`_ from Mopidy. To do so, you just need to add the identifier of your favorites collection to :confval:`internetarchive/collections`. Typically, the identifier is *fav-{username}*, but you should be able to figure it out from the archive.org_ Web site. When added to :confval:`internetarchive/collections`, you will be able to browse and search your Archive Favorites just like the other collections listed there. .. _FAQ: https://archive.org/about/faqs.php .. _blog post: https://blog.archive.org/2011/03/31/how-archive-org-items-are-structured/ .. _Audio Archive: https://archive.org/details/audio .. _archive.org: https://archive.org/ .. _Virtual Library Card: https://archive.org/account/login.createaccount.php .. _Archive Favorites: https://archive.org/bookmarks.php .. rubric:: Footnotes .. [#footnote1] As of Dec. 7, 2015. Mopidy-InternetArchive-2.0.0/docs/index.rst0000664000175000017500000000240212631576457022005 0ustar tkemmertkemmer00000000000000Mopidy-InternetArchive ======================================================================== Mopidy-InternetArchive is a Mopidy_ extension for playing music from the `Internet Archive`_. This extension lets you search for and stream recordings ranging from `alternative news programming`_, to `Grateful Dead concerts`_, to `Old Time Radio shows`_, to `book and poetry readings`_, to `original music`_ uploaded by Internet Archive users. It also gives you access to a vast number of high-quality live recordings from the `Live Music Archive`_, and thousands of free audiobooks from the LibriVox_ collection. .. toctree:: :maxdepth: 2 intro install config changelog license .. _Mopidy: http://www.mopidy.com/ .. _Internet Archive: http://archive.org .. _alternative news programming: https://archive.org/details/audio_news .. _Grateful Dead concerts: https://archive.org/details/GratefulDead .. _Old Time Radio shows: https://archive.org/details/radioprograms .. _book and poetry readings: https://archive.org/details/audio_bookspoetry .. _original music: https://archive.org/details/opensource_audio .. _Live Music Archive: https://archive.org/details/etree .. _LibriVox: https://archive.org/details/librivoxaudio .. _donate: https://archive.org/donate/ Mopidy-InternetArchive-2.0.0/docs/install.rst0000644000175000017500000000035112573760666022345 0ustar tkemmertkemmer00000000000000Installation ======================================================================== Mopidy-InternetArchive can be installed using pip_ by running:: pip install Mopidy-InternetArchive .. _pip: https://pip.pypa.io/en/latest/ Mopidy-InternetArchive-2.0.0/docs/license.rst0000644000175000017500000000125212575462160022310 0ustar tkemmertkemmer00000000000000License ======================================================================== Mopidy-InternetArchive is Copyright (c) 2014, 2015 Thomas Kemmer. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Mopidy-InternetArchive-2.0.0/docs/changelog.rst0000664000175000017500000000025712631576457022633 0ustar tkemmertkemmer00000000000000Change Log ======================================================================== This page lists all major changes to Mopidy-Internetarchive. .. include:: ../CHANGES.rst Mopidy-InternetArchive-2.0.0/docs/config.rst0000664000175000017500000000754412631576457022157 0ustar tkemmertkemmer00000000000000Configuration ======================================================================== This extension has a number of configuration values that can be tweaked. However, the :ref:`default configuration ` contains everything to get you up and running, and will usually require only a few modifications to match personal preferences. .. _confvals: Configuration Values ------------------------------------------------------------------------ .. confval:: internetarchive/base_url Base URL to access the Internet Archive. .. confval:: internetarchive/collections A list of collection identifiers to show as top-level directories when browsing. These are also used to limit the search scope when no search base is given by Mopidy clients explicitly. .. confval:: internetarchive/audio_formats A list of audio file formats, in order of preference. This entry contains a list of `Internet Archive file formats`_. By default, only audio formats suitable for streaming are requested. Note that the Internet Archive also contains a large number of high-quality media files in FLAC_ and other lossless formats, but for sake of bandwidth (both your's and the Archive's), it is recommended that you stick to lossy audio formats for streaming through Mopidy. .. confval:: internetarchive/image_formats A list of image file formats, in order of preference. This entry contains a list of `Internet Archive file formats`_ to be considered when providing images for Internet Archive items. Note that some Mopidy clients, especially MPD clients, will ignore album art provided by Mopidy-InternetArchive or other Mopidy extensions. .. confval:: internetarchive/browse_limit The maximum number of browse results. This is used to limit the number of items returned when browsing the Internet Archive. .. confval:: internetarchive/browse_views When browsing Internet Archive collections (or *directories* in Mopidy), this provides a list of virtual subdirectories so results can be retrieved using a particular :ref:`sort order`. The format for each entry is `` (asc|desc) |