From 65f14a9cc4eb21bb39d330fb554863a227f78c40 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 14 Apr 2013 11:26:16 +0200 Subject: [PATCH] exc: Remove OptionalDependencyError It is no longer needed as the extension loading mechanisms verifies the environment and presence of dependencies before it tries to import modules that would cause ImportErrors if optional dependencies are missing. --- mopidy/exceptions.py | 4 ---- mopidy/frontends/http/actor.py | 13 ++++--------- mopidy/frontends/http/ws.py | 11 ++++------- mopidy/frontends/mpris/objects.py | 12 ++++-------- mopidy/frontends/scrobbler/actor.py | 6 +----- tests/exceptions_test.py | 4 ---- tests/frontends/http/events_test.py | 8 +++----- tests/frontends/mpris/events_test.py | 14 +++++++------- tests/frontends/mpris/player_interface_test.py | 15 ++++++++------- tests/frontends/mpris/playlists_interface_test.py | 14 ++++++++------ tests/frontends/mpris/root_interface_test.py | 15 ++++++++------- 11 files changed, 47 insertions(+), 69 deletions(-) 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 = {