当前位置: 首页>>代码示例>>Python>>正文


Python GstPbutils.install_plugins_async方法代码示例

本文整理汇总了Python中gi.repository.GstPbutils.install_plugins_async方法的典型用法代码示例。如果您正苦于以下问题:Python GstPbutils.install_plugins_async方法的具体用法?Python GstPbutils.install_plugins_async怎么用?Python GstPbutils.install_plugins_async使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gi.repository.GstPbutils的用法示例。


在下文中一共展示了GstPbutils.install_plugins_async方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: install

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
 def install(self):
     """
         Install missing plugins
     """
     try:
         context = GstPbutils.InstallPluginsContext.new()
         try:
             context.set_desktop_id('lollypop.desktop')
         except:
             pass  # Not supported by Ubuntu VIVID
         details = []
         for message in self._messages:
             detail = \
                 GstPbutils.missing_plugin_message_get_installer_detail(
                     message)
             details.append(detail)
         GstPbutils.install_plugins_async(
             details,
             context,
             self._null)
         if Lp.notify is not None:
             GLib.timeout_add(
                 10000,
                 Lp.notify.send,
                 _("Restart lollypop after installing codecs"))
     except Exception as e:
         print("Codecs::__init__(): %s" % e)
开发者ID:ktosiu,项目名称:lollypop,代码行数:29,代码来源:codecs.py

示例2: on_gst_element

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
 def on_gst_element(self, bus, message):
     if GstPbutils.is_missing_plugin_message(message):
         if GstPbutils.install_plugins_supported():
             details = GstPbutils.missing_plugin_message_get_installer_detail(message)
             GstPbutils.install_plugins_async([details,], None, self.on_gst_plugin_installed, None)
         else:
             self.error_dialog(_("Missing codec"), None,
                     submsg=_("GStreamer is missing a plugin and it could not be automatically installed. Either manually install it or try another quality setting."))
开发者ID:Greenginer,项目名称:pithos,代码行数:10,代码来源:pithos.py

示例3: _on_element

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
 def _on_element(self, bus, message):
     if GstPbutils.is_missing_plugin_message(message):
         if GstPbutils.install_plugins_supported():
             details = (
                 GstPbutils.missing_plugin_message_get_installer_detail(
                     message))
             GstPbutils.install_plugins_async(
                 [details], None, self._plugin_installation_complete, None)
         else:
             self.emit("error", "Missing codec",
                       "GStreamer is missing a plugin and it could not be "
                       "automatically installed. Either manually install "
                       "it or try another quality setting.",
                       False)
开发者ID:glennimoss,项目名称:pithos,代码行数:16,代码来源:gstplayer.py

示例4: __handle_missing_plugin

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
    def __handle_missing_plugin(self, message):
        get_installer_detail = \
            GstPbutils.missing_plugin_message_get_installer_detail
        get_description = GstPbutils.missing_plugin_message_get_description

        details = get_installer_detail(message)
        if details is None:
            return

        self.stop()

        format_desc = get_description(message)
        title = _(u"No GStreamer element found to handle media format")
        error_details = _(u"Media format: %(format-description)s") % {
            "format-description": format_desc.decode("utf-8")}

        def install_done_cb(plugins_return, *args):
            print_d("Gstreamer plugin install return: %r" % plugins_return)
            Gst.update_registry()

        context = GstPbutils.InstallPluginsContext.new()
        res = GstPbutils.install_plugins_async(
            [details], context, install_done_cb, None)
        print_d("Gstreamer plugin install result: %r" % res)

        if res in (GstPbutils.InstallPluginsReturn.HELPER_MISSING,
                GstPbutils.InstallPluginsReturn.INTERNAL_FAILURE):
            self._error(PlayerError(title, error_details))
开发者ID:thisfred,项目名称:quodlibet,代码行数:30,代码来源:player.py

示例5: _start_plugin_installation

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
    def _start_plugin_installation(self, missing_plugin_messages, confirm_search):
        install_ctx = GstPbutils.InstallPluginsContext.new()

        if self._gst_plugins_base_check_version(1, 5, 0):
            install_ctx.set_desktop_id('gnome-music.desktop')
            install_ctx.set_confirm_search(confirm_search)

            startup_id = '_TIME%u' % Gtk.get_current_event_time()
            install_ctx.set_startup_notification_id(startup_id)

        installer_details = []
        for message in missing_plugin_messages:
            installer_detail = GstPbutils.missing_plugin_message_get_installer_detail(message)
            installer_details.append(installer_detail)

        def on_install_done(res):
            # We get the callback too soon, before the installation has
            # actually finished. Do nothing for now.
            pass

        GstPbutils.install_plugins_async(installer_details, install_ctx, on_install_done)
开发者ID:saifulbkhan,项目名称:gnome-music,代码行数:23,代码来源:player.py

示例6: install

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
 def install(self):
     """
         Install missing plugins
     """
     try:
         context = GstPbutils.InstallPluginsContext.new()
         try:
             context.set_desktop_id('lollypop.desktop')
         except:
             pass  # Not supported by Ubuntu VIVID
         details = []
         for message in self._messages:
             detail = \
                 GstPbutils.missing_plugin_message_get_installer_detail(
                     message)
             details.append(detail)
         GstPbutils.install_plugins_async(
             details,
             context,
             self._null)
     except Exception as e:
         print("Codecs::__init__(): %s" % e)
开发者ID:IxianPixel,项目名称:lollypop,代码行数:24,代码来源:codecs.py

示例7: _start_plugin_installation

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
    def _start_plugin_installation(
            self, missing_plugin_messages, confirm_search):
        install_ctx = GstPbutils.InstallPluginsContext.new()
        application_id = self._application.props.application_id
        install_ctx.set_desktop_id(application_id + '.desktop')
        install_ctx.set_confirm_search(confirm_search)

        startup_id = "_TIME{}".format(Gtk.get_current_event_time())
        install_ctx.set_startup_notification_id(startup_id)

        installer_details = []
        get_details = GstPbutils.missing_plugin_message_get_installer_detail
        for message in missing_plugin_messages:
            installer_detail = get_details(message)
            installer_details.append(installer_detail)

        def on_install_done(res):
            # We get the callback too soon, before the installation has
            # actually finished. Do nothing for now.
            pass

        GstPbutils.install_plugins_async(
            installer_details, install_ctx, on_install_done)
开发者ID:GNOME,项目名称:gnome-music,代码行数:25,代码来源:gstplayer.py

示例8: __getMissingElement

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
 def __getMissingElement(self, message, window_id = 0):
     if gst.pygst_version < (0, 10, 10):
         print _("This version of gstreamer can't handle missing elements")
         return
     self.errors.append(str(message.structure["type"]))
     self.errors.append(str(message.structure["detail"]))
     self.errors.append(str(message.structure["name"]))
     detail = pbutils.missing_plugin_message_get_installer_detail(message)
     context = pbutils.InstallPluginsContext()
     
     if window_id:
         context.set_x_id(window_id)
         
     msg = pbutils.install_plugins_async([detail], context,self.__pbutils_plugin_installed_cb)
开发者ID:tymofij,项目名称:gframecatcher,代码行数:16,代码来源:mediaLibrary.py

示例9: __handle_missing_plugin

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
    def __handle_missing_plugin(self, message):
        get_installer_detail = \
            GstPbutils.missing_plugin_message_get_installer_detail
        get_description = GstPbutils.missing_plugin_message_get_description

        details = get_installer_detail(message)
        if details is None:
            return

        self.stop()

        format_desc = get_description(message)
        title = _(u"No GStreamer element found to handle media format")
        error_details = _(u"Media format: %(format-description)s") % {
            "format-description": format_desc}

        def install_done_cb(plugins_return, *args):
            print_d("Gstreamer plugin install return: %r" % plugins_return)
            Gst.update_registry()

        context = GstPbutils.InstallPluginsContext.new()

        # new in 1.6
        if hasattr(context, "set_desktop_id"):
            from gi.repository import Gtk
            context.set_desktop_id(app.id)

        # new in 1.6
        if hasattr(context, "set_startup_notification_id"):
            current_time = Gtk.get_current_event_time()
            context.set_startup_notification_id("_TIME%d" % current_time)

        gdk_window = app.window.get_window()
        if gdk_window:
            try:
                xid = gdk_window.get_xid()
            except AttributeError:  # non X11
                pass
            else:
                context.set_xid(xid)

        res = GstPbutils.install_plugins_async(
            [details], context, install_done_cb, None)
        print_d("Gstreamer plugin install result: %r" % res)

        if res in (GstPbutils.InstallPluginsReturn.HELPER_MISSING,
                GstPbutils.InstallPluginsReturn.INTERNAL_FAILURE):
            self._error(PlayerError(title, error_details))
开发者ID:zsau,项目名称:quodlibet,代码行数:50,代码来源:player.py

示例10: __run_installer_helper

# 需要导入模块: from gi.repository import GstPbutils [as 别名]
# 或者: from gi.repository.GstPbutils import install_plugins_async [as 别名]
def __run_installer_helper(installer_details):
    """

        @return True if the helper might have run. False if did not run for
                    sure.
    """
    cntxt = __create_context()

    LOGGER.info("Prompting user to install missing codec(s): %s", installer_details)

    start_result = GstPbutils.install_plugins_async(
        [installer_details], cntxt, __installer_finished_callback
    )
    LOGGER.debug(
        "GstPbutils.install_plugins_async() return value: %s",
        GstPbutils.InstallPluginsReturn.get_name(start_result),
    )
    if start_result == GstPbutils.InstallPluginsReturn.INTERNAL_FAILURE:
        # should only happen when there is a bug in Exaile or its libs:
        LOGGER.error("Internal failure starting assisted GStreamer plugin installation")
        return False
    elif start_result == GstPbutils.InstallPluginsReturn.HELPER_MISSING:
        # we expect that to happen on some platforms
        LOGGER.warn("Helper missing for assisted installation of Gstreamer plugins")
        return False
    elif start_result == GstPbutils.InstallPluginsReturn.INSTALL_IN_PROGRESS:
        LOGGER.warn("Another assisted plugin installation is already in progress")
        return False
    elif start_result == GstPbutils.InstallPluginsReturn.STARTED_OK:
        LOGGER.info("Successfully started assisted GStreamer plugin installation")
        return True
    else:
        LOGGER.error(
            "Code should not be reached. "
            "Unexpected return value from install_plugins_async: %s",
            GstPbutils.InstallPluginsReturn.get_name(start_result),
        )
        return False
开发者ID:exaile,项目名称:exaile,代码行数:40,代码来源:missing_plugin.py


注:本文中的gi.repository.GstPbutils.install_plugins_async方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。