diff --git a/mopidy/exceptions.py b/mopidy/exceptions.py index 2b2b4ef8..702eab9f 100644 --- a/mopidy/exceptions.py +++ b/mopidy/exceptions.py @@ -34,9 +34,5 @@ class ConfigError(MopidyException): return '\n'.join(lines) -class OptionalDependencyError(MopidyException): - pass - - class ExtensionError(MopidyException): pass diff --git a/mopidy/frontends/http/actor.py b/mopidy/frontends/http/actor.py index 149cbc7f..b6fb26d4 100644 --- a/mopidy/frontends/http/actor.py +++ b/mopidy/frontends/http/actor.py @@ -4,18 +4,13 @@ import logging import json import os +import cherrypy import pykka +from ws4py.messaging import TextMessage +from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool -from mopidy import exceptions, models +from mopidy import models from mopidy.core import CoreListener - -try: - import cherrypy - from ws4py.messaging import TextMessage - from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool -except ImportError as import_error: - raise exceptions.OptionalDependencyError(import_error) - from . import ws diff --git a/mopidy/frontends/http/ws.py b/mopidy/frontends/http/ws.py index 7f24850f..b46b450e 100644 --- a/mopidy/frontends/http/ws.py +++ b/mopidy/frontends/http/ws.py @@ -2,14 +2,11 @@ from __future__ import unicode_literals import logging -from mopidy import core, exceptions, models -from mopidy.utils import jsonrpc +import cherrypy +from ws4py.websocket import WebSocket -try: - import cherrypy - from ws4py.websocket import WebSocket -except ImportError as import_error: - raise exceptions.OptionalDependencyError(import_error) +from mopidy import core, models +from mopidy.utils import jsonrpc logger = logging.getLogger('mopidy.frontends.http') diff --git a/mopidy/frontends/mpris/objects.py b/mopidy/frontends/mpris/objects.py index a7f049d2..15be1eea 100644 --- a/mopidy/frontends/mpris/objects.py +++ b/mopidy/frontends/mpris/objects.py @@ -4,14 +4,10 @@ import base64 import logging import os -try: - import dbus - import dbus.mainloop.glib - import dbus.service - import gobject -except ImportError as import_error: - from mopidy.exceptions import OptionalDependencyError - raise OptionalDependencyError(import_error) +import dbus +import dbus.mainloop.glib +import dbus.service +import gobject from mopidy.core import PlaybackState from mopidy.utils.process import exit_process diff --git a/mopidy/frontends/scrobbler/actor.py b/mopidy/frontends/scrobbler/actor.py index 74a11f82..2343e0cb 100644 --- a/mopidy/frontends/scrobbler/actor.py +++ b/mopidy/frontends/scrobbler/actor.py @@ -4,14 +4,10 @@ import logging import time import pykka +import pylast -from mopidy import exceptions from mopidy.core import CoreListener -try: - import pylast -except ImportError as import_error: - raise exceptions.OptionalDependencyError(import_error) logger = logging.getLogger('mopidy.frontends.scrobbler') diff --git a/tests/exceptions_test.py b/tests/exceptions_test.py index 8dd71076..daf51a0d 100644 --- a/tests/exceptions_test.py +++ b/tests/exceptions_test.py @@ -12,10 +12,6 @@ class ExceptionsTest(unittest.TestCase): self.assertEqual(exc.message, 'foo') self.assertEqual(str(exc), 'foo') - def test_optional_dependency_error_is_a_mopidy_exception(self): - self.assert_(issubclass( - exceptions.OptionalDependencyError, exceptions.MopidyException)) - def test_extension_error_is_a_mopidy_exception(self): self.assert_(issubclass( exceptions.ExtensionError, exceptions.MopidyException)) diff --git a/tests/frontends/http/events_test.py b/tests/frontends/http/events_test.py index c334eefa..ee08a60a 100644 --- a/tests/frontends/http/events_test.py +++ b/tests/frontends/http/events_test.py @@ -6,18 +6,16 @@ try: import cherrypy except ImportError: cherrypy = False + try: import ws4py except ImportError: ws4py = False -import mock -from mopidy.exceptions import OptionalDependencyError -try: +if cherrypy and ws4py: from mopidy.frontends.http import actor -except OptionalDependencyError: - pass +import mock from tests import unittest diff --git a/tests/frontends/mpris/events_test.py b/tests/frontends/mpris/events_test.py index f79202c0..b336cbc7 100644 --- a/tests/frontends/mpris/events_test.py +++ b/tests/frontends/mpris/events_test.py @@ -1,21 +1,21 @@ from __future__ import unicode_literals -import sys - import mock -from mopidy.exceptions import OptionalDependencyError +try: + import dbus +except ImportError: + dbus = False + from mopidy.models import Playlist, TlTrack -try: +if dbus: from mopidy.frontends.mpris import actor, objects -except OptionalDependencyError: - pass from tests import unittest -@unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux') +@unittest.skipUnless(dbus, 'dbus not found') class BackendEventsTest(unittest.TestCase): def setUp(self): # As a plain class, not an actor: diff --git a/tests/frontends/mpris/player_interface_test.py b/tests/frontends/mpris/player_interface_test.py index e1e13084..2353d831 100644 --- a/tests/frontends/mpris/player_interface_test.py +++ b/tests/frontends/mpris/player_interface_test.py @@ -1,19 +1,20 @@ from __future__ import unicode_literals -import sys - import mock import pykka -from mopidy import core, exceptions +try: + import dbus +except ImportError: + dbus = False + +from mopidy import core from mopidy.backends import dummy from mopidy.core import PlaybackState from mopidy.models import Album, Artist, Track -try: +if dbus: from mopidy.frontends.mpris import objects -except exceptions.OptionalDependencyError: - pass from tests import unittest @@ -22,7 +23,7 @@ PAUSED = PlaybackState.PAUSED STOPPED = PlaybackState.STOPPED -@unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux') +@unittest.skipUnless(dbus, 'dbus not found') class PlayerInterfaceTest(unittest.TestCase): def setUp(self): objects.MprisObject._connect_to_dbus = mock.Mock() diff --git a/tests/frontends/mpris/playlists_interface_test.py b/tests/frontends/mpris/playlists_interface_test.py index 67f9e9be..06f7f45e 100644 --- a/tests/frontends/mpris/playlists_interface_test.py +++ b/tests/frontends/mpris/playlists_interface_test.py @@ -1,25 +1,27 @@ from __future__ import unicode_literals import datetime -import sys import mock import pykka -from mopidy import core, exceptions +try: + import dbus +except ImportError: + dbus = False + +from mopidy import core from mopidy.audio import PlaybackState from mopidy.backends import dummy from mopidy.models import Track -try: +if dbus: from mopidy.frontends.mpris import objects -except exceptions.OptionalDependencyError: - pass from tests import unittest -@unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux') +@unittest.skipUnless(dbus, 'dbus not found') class PlayerInterfaceTest(unittest.TestCase): def setUp(self): objects.MprisObject._connect_to_dbus = mock.Mock() diff --git a/tests/frontends/mpris/root_interface_test.py b/tests/frontends/mpris/root_interface_test.py index 806b2162..85c72c97 100644 --- a/tests/frontends/mpris/root_interface_test.py +++ b/tests/frontends/mpris/root_interface_test.py @@ -1,22 +1,23 @@ from __future__ import unicode_literals -import sys - import mock import pykka -from mopidy import core, exceptions +try: + import dbus +except ImportError: + dbus = False + +from mopidy import core from mopidy.backends import dummy -try: +if dbus: from mopidy.frontends.mpris import objects -except exceptions.OptionalDependencyError: - pass from tests import unittest -@unittest.skipUnless(sys.platform.startswith('linux'), 'requires Linux') +@unittest.skipUnless(dbus, 'dbus not found') class RootInterfaceTest(unittest.TestCase): def setUp(self): config = {