core: Mark get_playlists and filter as deprecated
This commit is contained in:
parent
5a3fb64250
commit
a54551d985
@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import logging
|
||||
import urlparse
|
||||
import warnings
|
||||
|
||||
import pykka
|
||||
|
||||
@ -80,6 +81,9 @@ class PlaylistsController(object):
|
||||
.. deprecated:: 1.0
|
||||
Use :meth:`as_list` and :meth:`get_items` instead.
|
||||
"""
|
||||
warnings.warn(
|
||||
'playlists.get_playlists() is deprecated', DeprecationWarning)
|
||||
|
||||
playlist_refs = self.as_list()
|
||||
|
||||
if include_tracks:
|
||||
@ -166,6 +170,8 @@ class PlaylistsController(object):
|
||||
.. deprecated:: 1.0
|
||||
Use :meth:`as_list` and filter yourself.
|
||||
"""
|
||||
warnings.warn('playlists.filter() is deprecated', DeprecationWarning)
|
||||
|
||||
criteria = criteria or kwargs
|
||||
matches = self.playlists
|
||||
for (key, value) in criteria.iteritems():
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import unittest
|
||||
import warnings
|
||||
|
||||
import mock
|
||||
|
||||
@ -83,30 +84,6 @@ class PlaylistsTest(unittest.TestCase):
|
||||
self.assertFalse(self.sp1.delete.called)
|
||||
self.assertFalse(self.sp2.delete.called)
|
||||
|
||||
def test_get_playlists_combines_result_from_backends(self):
|
||||
result = self.core.playlists.get_playlists()
|
||||
|
||||
self.assertIn(self.pl1a, result)
|
||||
self.assertIn(self.pl1b, result)
|
||||
self.assertIn(self.pl2a, result)
|
||||
self.assertIn(self.pl2b, result)
|
||||
|
||||
def test_get_playlists_includes_tracks_by_default(self):
|
||||
result = self.core.playlists.get_playlists()
|
||||
|
||||
self.assertEqual(result[0].name, 'A')
|
||||
self.assertEqual(len(result[0].tracks), 1)
|
||||
self.assertEqual(result[1].name, 'B')
|
||||
self.assertEqual(len(result[1].tracks), 1)
|
||||
|
||||
def test_get_playlist_can_strip_tracks_from_returned_playlists(self):
|
||||
result = self.core.playlists.get_playlists(include_tracks=False)
|
||||
|
||||
self.assertEqual(result[0].name, 'A')
|
||||
self.assertEqual(len(result[0].tracks), 0)
|
||||
self.assertEqual(result[1].name, 'B')
|
||||
self.assertEqual(len(result[1].tracks), 0)
|
||||
|
||||
def test_create_without_uri_scheme_uses_first_backend(self):
|
||||
playlist = Playlist()
|
||||
self.sp1.create().get.return_value = playlist
|
||||
@ -164,16 +141,6 @@ class PlaylistsTest(unittest.TestCase):
|
||||
self.assertFalse(self.sp1.delete.called)
|
||||
self.assertFalse(self.sp2.delete.called)
|
||||
|
||||
def test_filter_returns_matching_playlists(self):
|
||||
result = self.core.playlists.filter(name='A')
|
||||
|
||||
self.assertEqual(2, len(result))
|
||||
|
||||
def test_filter_accepts_dict_instead_of_kwargs(self):
|
||||
result = self.core.playlists.filter({'name': 'A'})
|
||||
|
||||
self.assertEqual(2, len(result))
|
||||
|
||||
def test_lookup_selects_the_dummy1_backend(self):
|
||||
self.core.playlists.lookup('dummy1:a')
|
||||
|
||||
@ -259,3 +226,62 @@ class PlaylistsTest(unittest.TestCase):
|
||||
self.assertIsNone(result)
|
||||
self.assertFalse(self.sp1.save.called)
|
||||
self.assertFalse(self.sp2.save.called)
|
||||
|
||||
|
||||
class DeprecatedFilterPlaylistsTest(BasePlaylistsTest):
|
||||
def setUp(self): # noqa: N802
|
||||
super(DeprecatedFilterPlaylistsTest, self).setUp()
|
||||
self._warnings_filters = warnings.filters
|
||||
warnings.filters = warnings.filters[:]
|
||||
warnings.filterwarnings('ignore', '.*filter.*')
|
||||
warnings.filterwarnings('ignore', '.*get_playlists.*')
|
||||
|
||||
def tearDown(self): # noqa: N802
|
||||
super(DeprecatedFilterPlaylistsTest, self).tearDown()
|
||||
warnings.filters = self._warnings_filters
|
||||
|
||||
def test_filter_returns_matching_playlists(self):
|
||||
result = self.core.playlists.filter(name='A')
|
||||
|
||||
self.assertEqual(2, len(result))
|
||||
|
||||
def test_filter_accepts_dict_instead_of_kwargs(self):
|
||||
result = self.core.playlists.filter({'name': 'A'})
|
||||
|
||||
self.assertEqual(2, len(result))
|
||||
|
||||
|
||||
class DeprecatedGetPlaylistsTest(BasePlaylistsTest):
|
||||
def setUp(self): # noqa: N802
|
||||
super(DeprecatedGetPlaylistsTest, self).setUp()
|
||||
self._warnings_filters = warnings.filters
|
||||
warnings.filters = warnings.filters[:]
|
||||
warnings.filterwarnings('ignore', '.*get_playlists.*')
|
||||
|
||||
def tearDown(self): # noqa: N802
|
||||
super(DeprecatedGetPlaylistsTest, self).tearDown()
|
||||
warnings.filters = self._warnings_filters
|
||||
|
||||
def test_get_playlists_combines_result_from_backends(self):
|
||||
result = self.core.playlists.get_playlists()
|
||||
|
||||
self.assertIn(self.pl1a, result)
|
||||
self.assertIn(self.pl1b, result)
|
||||
self.assertIn(self.pl2a, result)
|
||||
self.assertIn(self.pl2b, result)
|
||||
|
||||
def test_get_playlists_includes_tracks_by_default(self):
|
||||
result = self.core.playlists.get_playlists()
|
||||
|
||||
self.assertEqual(result[0].name, 'A')
|
||||
self.assertEqual(len(result[0].tracks), 1)
|
||||
self.assertEqual(result[1].name, 'B')
|
||||
self.assertEqual(len(result[1].tracks), 1)
|
||||
|
||||
def test_get_playlist_can_strip_tracks_from_returned_playlists(self):
|
||||
result = self.core.playlists.get_playlists(include_tracks=False)
|
||||
|
||||
self.assertEqual(result[0].name, 'A')
|
||||
self.assertEqual(len(result[0].tracks), 0)
|
||||
self.assertEqual(result[1].name, 'B')
|
||||
self.assertEqual(len(result[1].tracks), 0)
|
||||
|
||||
@ -4,6 +4,7 @@ import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import unittest
|
||||
import warnings
|
||||
|
||||
import pykka
|
||||
|
||||
@ -141,8 +142,8 @@ class M3UPlaylistsProviderTest(unittest.TestCase):
|
||||
|
||||
def test_create_adds_playlist_to_playlists_collection(self):
|
||||
playlist = self.core.playlists.create('test')
|
||||
self.assert_(self.core.playlists.playlists)
|
||||
self.assertIn(playlist, self.core.playlists.playlists)
|
||||
playlists = self.core.playlists.as_list()
|
||||
self.assertIn(playlist.uri, [ref.uri for ref in playlists])
|
||||
|
||||
def test_as_list_empty_to_start_with(self):
|
||||
self.assertEqual(len(self.core.playlists.as_list()), 0)
|
||||
@ -171,30 +172,6 @@ class M3UPlaylistsProviderTest(unittest.TestCase):
|
||||
self.core.playlists.delete(playlist.uri)
|
||||
self.assertIsNone(self.core.playlists.lookup(playlist.uri))
|
||||
|
||||
def test_filter_without_criteria(self):
|
||||
self.assertEqual(
|
||||
self.core.playlists.get_playlists(), self.core.playlists.filter())
|
||||
|
||||
def test_filter_with_wrong_criteria(self):
|
||||
self.assertEqual([], self.core.playlists.filter(name='foo'))
|
||||
|
||||
def test_filter_with_right_criteria(self):
|
||||
playlist = self.core.playlists.create('test')
|
||||
playlists = self.core.playlists.filter(name='test')
|
||||
self.assertEqual([playlist], playlists)
|
||||
|
||||
def test_filter_by_name_returns_single_match(self):
|
||||
self.core.playlists.create('a')
|
||||
playlist = self.core.playlists.create('b')
|
||||
|
||||
self.assertEqual([playlist], self.core.playlists.filter(name='b'))
|
||||
|
||||
def test_filter_by_name_returns_no_matches(self):
|
||||
self.core.playlists.create('a')
|
||||
self.core.playlists.create('b')
|
||||
|
||||
self.assertEqual([], self.core.playlists.filter(name='c'))
|
||||
|
||||
def test_lookup_finds_playlist_by_uri(self):
|
||||
original_playlist = self.core.playlists.create('test')
|
||||
|
||||
@ -292,3 +269,40 @@ class M3UPlaylistsProviderTest(unittest.TestCase):
|
||||
item_refs = self.core.playlists.get_items('dummy:unknown')
|
||||
|
||||
self.assertIsNone(item_refs)
|
||||
|
||||
|
||||
class DeprecatedM3UPlaylistsProviderTest(M3UPlaylistsProviderTest):
|
||||
def setUp(self): # noqa: N802
|
||||
super(DeprecatedM3UPlaylistsProviderTest, self).setUp()
|
||||
self._warnings_filters = warnings.filters
|
||||
warnings.filters = warnings.filters[:]
|
||||
warnings.filterwarnings('ignore', '.*filter.*')
|
||||
warnings.filterwarnings('ignore', '.*get_playlists.*')
|
||||
|
||||
def tearDown(self): # noqa: N802
|
||||
super(DeprecatedM3UPlaylistsProviderTest, self).tearDown()
|
||||
warnings.filters = self._warnings_filters
|
||||
|
||||
def test_filter_without_criteria(self):
|
||||
self.assertEqual(self.core.playlists.get_playlists(),
|
||||
self.core.playlists.filter())
|
||||
|
||||
def test_filter_with_wrong_criteria(self):
|
||||
self.assertEqual([], self.core.playlists.filter(name='foo'))
|
||||
|
||||
def test_filter_with_right_criteria(self):
|
||||
playlist = self.core.playlists.create('test')
|
||||
playlists = self.core.playlists.filter(name='test')
|
||||
self.assertEqual([playlist], playlists)
|
||||
|
||||
def test_filter_by_name_returns_single_match(self):
|
||||
self.core.playlists.create('a')
|
||||
playlist = self.core.playlists.create('b')
|
||||
|
||||
self.assertEqual([playlist], self.core.playlists.filter(name='b'))
|
||||
|
||||
def test_filter_by_name_returns_no_matches(self):
|
||||
self.core.playlists.create('a')
|
||||
self.core.playlists.create('b')
|
||||
|
||||
self.assertEqual([], self.core.playlists.filter(name='c'))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user