예제 #1
0
 def main(self):
   npackages = self._populate_list()
   if npackages == 0:
     if self._apt_lists_dir_has_missing_files():
       if self._ask_perform_update():
         worker = PackageWorker.get_worker()
         worker.perform_update(self._window)
         npackages = self._populate_list()
         if npackages == 0:
           self._show_no_codecs_error()
           return gst.pbutils.INSTALL_PLUGINS_NOT_FOUND
     else:
       self._show_no_codecs_error()
       return gst.pbutils.INSTALL_PLUGINS_NOT_FOUND
   gtk.main()
   return self._return_code
예제 #2
0
  def _install_selection(self, widget, data=None):
    iter = self._package_list_model.get_iter_first()
    packages = []

    while iter:
      if self._package_list_model.get_value(iter, LIST_PKG_TO_INSTALL):
        packages.append((self._package_list_model.get_value(iter, LIST_PKG_NAME), 
                         self._package_list_model.get_value(iter, LIST_PKG_REQUEST)))
      iter = self._package_list_model.iter_next(iter)

    if not packages or len(packages) == 0:
      self.modal_dialog(gtk.MESSAGE_WARNING,
                        _("No packages selected"))
      self._return_code = gst.pbutils.INSTALL_PLUGINS_NOT_FOUND
      return

    # check codec install message
    if not self._confirm_codec_install(set([package[LIST_PKG_TO_INSTALL] for package in packages])):
      return

    worker = PackageWorker.get_worker()
    install_success = worker.perform_action(self._window, set([package[LIST_PKG_TO_INSTALL] for package in packages]), set())

    if install_success:
      if not self._requests or len(self._requests) == 0:
        self.modal_dialog(gtk.MESSAGE_INFO,
                          _("Packages successfully installed"),
                          _("The selected packages were successfully "
                            "installed and provided all requested plugins"))
        self._return_code = gst.pbutils.INSTALL_PLUGINS_SUCCESS
      else:
        self.modal_dialog(gtk.MESSAGE_INFO,
                          _("Packages successfully installed"),
                          _("The selected packages were successfully "
                            "installed but did not provide all requested "
                            "plugins"))
        self._return_code = gst.pbutils.INSTALL_PLUGINS_PARTIAL_SUCCESS
    else:
      self.modal_dialog(gtk.MESSAGE_ERROR,
                        _("No packages installed"),
                        _("None of the selected packages were installed."))
      self._return_code = gst.pbutils.INSTALL_PLUGINS_ERROR
    gtk.main_quit()