gst1: Move all gi imports to a helper module

This commit is contained in:
Stein Magnus Jodal 2016-02-01 23:06:45 +01:00
parent b143898cd3
commit d9f53d5da3
11 changed files with 43 additions and 61 deletions

View File

@ -4,26 +4,8 @@ import logging
import os
import signal
import sys
import textwrap
try:
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
except ImportError:
print(textwrap.dedent("""
ERROR: The GStreamer Python package was not found.
Mopidy requires GStreamer to work. GStreamer is a C library with a
number of dependencies itself, and cannot be installed with the regular
Python tools like pip.
Please see http://docs.mopidy.com/en/latest/installation/ for
instructions on how to install the required dependencies.
"""))
raise
else:
Gst.init()
from mopidy.internal.gi import Gst # noqa: Import to initialize
try:
# Make GObject's mainloop the event loop for python-dbus

View File

@ -4,12 +4,6 @@ import logging
import os
import threading
import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstPbutils', '1.0')
from gi.repository import GObject, Gst, GstPbutils
Gst.is_initialized() or Gst.init()
import pykka
from mopidy import exceptions
@ -17,6 +11,7 @@ from mopidy.audio import tags as tags_lib, utils
from mopidy.audio.constants import PlaybackState
from mopidy.audio.listener import AudioListener
from mopidy.internal import deprecation, process
from mopidy.internal.gi import GObject, Gst, GstPbutils
logger = logging.getLogger(__name__)

View File

@ -4,15 +4,10 @@ from __future__ import (
import collections
import time
import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstPbutils', '1.0')
from gi.repository import Gst, GstPbutils
Gst.is_initialized() or Gst.init()
from mopidy import exceptions
from mopidy.audio import tags as tags_lib, utils
from mopidy.internal import encoding
from mopidy.internal.gi import Gst, GstPbutils
# GST_ELEMENT_FACTORY_LIST:
_DECODER = 1 << 0

View File

@ -5,13 +5,9 @@ import datetime
import logging
import numbers
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GLib, Gst
Gst.is_initialized() or Gst.init()
from mopidy import compat
from mopidy.internal import log
from mopidy.internal.gi import GLib, Gst
from mopidy.models import Album, Artist, Track

View File

@ -1,10 +1,7 @@
from __future__ import absolute_import, unicode_literals
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
from mopidy import httpclient
from mopidy.internal.gi import Gst
def calculate_duration(num_samples, sample_rate):

View File

@ -5,14 +5,10 @@ import os
import platform
import sys
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
Gst.is_initialized() or Gst.init()
import pkg_resources
from mopidy.internal import formatting
from mopidy.internal.gi import Gst, gi
def format_dependency_list(adapters=None):

33
mopidy/internal/gi.py Normal file
View File

@ -0,0 +1,33 @@
from __future__ import absolute_import, unicode_literals
import textwrap
try:
import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstPbutils', '1.0')
from gi.repository import GLib, GObject, Gst, GstPbutils
except ImportError:
print(textwrap.dedent("""
ERROR: A GObject Python package was not found.
Mopidy requires GStreamer to work. GStreamer is a C library with a
number of dependencies itself, and cannot be installed with the regular
Python tools like pip.
Please see http://docs.mopidy.com/en/latest/installation/ for
instructions on how to install the required dependencies.
"""))
raise
else:
Gst.is_initialized() or Gst.init()
__all__ = [
'GLib',
'GObject',
'Gst',
'GstPbutils',
'gi',
]

View File

@ -3,10 +3,6 @@ from __future__ import absolute_import, unicode_literals
import threading
import unittest
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
import mock
import pykka
@ -14,6 +10,7 @@ import pykka
from mopidy import audio
from mopidy.audio.constants import PlaybackState
from mopidy.internal import path
from mopidy.internal.gi import Gst
from tests import dummy_audio, path_to_data_dir

View File

@ -4,12 +4,9 @@ from __future__ import absolute_import, unicode_literals
import unittest
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GLib, GObject, Gst
from mopidy import compat
from mopidy.audio import tags
from mopidy.internal.gi import GLib, GObject, Gst
from mopidy.models import Album, Artist, Track

View File

@ -1,12 +1,9 @@
from __future__ import absolute_import, unicode_literals
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
import pytest
from mopidy.audio import utils
from mopidy.internal.gi import Gst
class TestCreateBuffer(object):

View File

@ -4,15 +4,12 @@ import platform
import sys
import unittest
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
import mock
import pkg_resources
from mopidy.internal import deps
from mopidy.internal.gi import Gst, gi
class DepsTest(unittest.TestCase):