From aede9762f8d442d502552d389bb46a3acb3d2272 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 20 Aug 2010 01:07:23 +0200 Subject: [PATCH] Split BaseProcess snd CoreProcess into two files --- mopidy/__main__.py | 2 +- mopidy/backends/libspotify/playback.py | 2 +- mopidy/{process.py => core.py} | 37 ++----------------------- mopidy/frontends/mpd/session.py | 2 +- mopidy/mixers/gstreamer_software.py | 2 +- mopidy/mixers/nad.py | 2 +- mopidy/outputs/gstreamer.py | 2 +- mopidy/utils/process.py | 38 ++++++++++++++++++++++++++ 8 files changed, 46 insertions(+), 41 deletions(-) rename mopidy/{process.py => core.py} (63%) create mode 100644 mopidy/utils/process.py diff --git a/mopidy/__main__.py b/mopidy/__main__.py index 1c0318e7..ac090f16 100644 --- a/mopidy/__main__.py +++ b/mopidy/__main__.py @@ -10,7 +10,7 @@ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../'))) from mopidy import get_version, settings, SettingsError -from mopidy.process import CoreProcess +from mopidy.core import CoreProcess from mopidy.utils import get_class from mopidy.utils.path import get_or_create_folder from mopidy.utils.settings import list_settings_optparse_callback diff --git a/mopidy/backends/libspotify/playback.py b/mopidy/backends/libspotify/playback.py index 1195e9bc..ed5ba697 100644 --- a/mopidy/backends/libspotify/playback.py +++ b/mopidy/backends/libspotify/playback.py @@ -4,7 +4,7 @@ import multiprocessing from spotify import Link, SpotifyError from mopidy.backends.base import BasePlaybackController -from mopidy.process import pickle_connection +from mopidy.utils.process import pickle_connection logger = logging.getLogger('mopidy.backends.libspotify.playback') diff --git a/mopidy/process.py b/mopidy/core.py similarity index 63% rename from mopidy/process.py rename to mopidy/core.py index 008129b3..06e87294 100644 --- a/mopidy/process.py +++ b/mopidy/core.py @@ -1,42 +1,9 @@ import logging import multiprocessing -from multiprocessing.reduction import reduce_connection -import pickle -import sys -from mopidy import SettingsError - -logger = logging.getLogger('mopidy.process') - -def pickle_connection(connection): - return pickle.dumps(reduce_connection(connection)) - -def unpickle_connection(pickled_connection): - # From http://stackoverflow.com/questions/1446004 - (func, args) = pickle.loads(pickled_connection) - return func(*args) - - -class BaseProcess(multiprocessing.Process): - def run(self): - try: - self.run_inside_try() - except KeyboardInterrupt: - logger.info(u'Interrupted by user') - sys.exit(0) - except SettingsError as e: - logger.error(e.message) - sys.exit(1) - except ImportError as e: - logger.error(e) - sys.exit(1) - except Exception as e: - logger.exception(e) - raise e - - def run_inside_try(self): - raise NotImplementedError +from mopidy.utils.process import BaseProcess, unpickle_connection +logger = logging.getLogger('mopidy.core') class CoreProcess(BaseProcess): def __init__(self, core_queue, output_class, backend_class, frontend): diff --git a/mopidy/frontends/mpd/session.py b/mopidy/frontends/mpd/session.py index e5d2d12d..a9eba73e 100644 --- a/mopidy/frontends/mpd/session.py +++ b/mopidy/frontends/mpd/session.py @@ -3,8 +3,8 @@ import logging import multiprocessing from mopidy.frontends.mpd.protocol import ENCODING, LINE_TERMINATOR, VERSION -from mopidy.process import pickle_connection from mopidy.utils import indent +from mopidy.utils.process import pickle_connection logger = logging.getLogger('mopidy.frontends.mpd.session') diff --git a/mopidy/mixers/gstreamer_software.py b/mopidy/mixers/gstreamer_software.py index 2910ef72..1225cafd 100644 --- a/mopidy/mixers/gstreamer_software.py +++ b/mopidy/mixers/gstreamer_software.py @@ -1,7 +1,7 @@ import multiprocessing from mopidy.mixers import BaseMixer -from mopidy.process import pickle_connection +from mopidy.utils.process import pickle_connection class GStreamerSoftwareMixer(BaseMixer): """Mixer which uses GStreamer to control volume in software.""" diff --git a/mopidy/mixers/nad.py b/mopidy/mixers/nad.py index d78863aa..b8a4f41a 100644 --- a/mopidy/mixers/nad.py +++ b/mopidy/mixers/nad.py @@ -3,9 +3,9 @@ from serial import Serial from multiprocessing import Pipe from mopidy.mixers import BaseMixer -from mopidy.process import BaseProcess from mopidy.settings import (MIXER_EXT_PORT, MIXER_EXT_SOURCE, MIXER_EXT_SPEAKERS_A, MIXER_EXT_SPEAKERS_B) +from mopidy.utils.process import BaseProcess logger = logging.getLogger('mopidy.mixers.nad') diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index ca5a98c5..815edbad 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -8,7 +8,7 @@ import gst import logging import threading -from mopidy.process import BaseProcess, unpickle_connection +from mopidy.utils.process import BaseProcess, unpickle_connection logger = logging.getLogger('mopidy.outputs.gstreamer') diff --git a/mopidy/utils/process.py b/mopidy/utils/process.py new file mode 100644 index 00000000..5e783b73 --- /dev/null +++ b/mopidy/utils/process.py @@ -0,0 +1,38 @@ +import logging +import multiprocessing +from multiprocessing.reduction import reduce_connection +import pickle +import sys + +from mopidy import SettingsError + +logger = logging.getLogger('mopidy.utils.process') + +def pickle_connection(connection): + return pickle.dumps(reduce_connection(connection)) + +def unpickle_connection(pickled_connection): + # From http://stackoverflow.com/questions/1446004 + (func, args) = pickle.loads(pickled_connection) + return func(*args) + + +class BaseProcess(multiprocessing.Process): + def run(self): + try: + self.run_inside_try() + except KeyboardInterrupt: + logger.info(u'Interrupted by user') + sys.exit(0) + except SettingsError as e: + logger.error(e.message) + sys.exit(1) + except ImportError as e: + logger.error(e) + sys.exit(1) + except Exception as e: + logger.exception(e) + raise e + + def run_inside_try(self): + raise NotImplementedError