Viewing file: UnresolvableDependenciesDialog.py (2.66 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import gtk import os
import rpm from config import * from rhpl.translate import _, N_
class UnresolvableDependenciesDialog: def __init__ (self, unresolvable_dependencies, parent=None): def formatRequire (req): print req if len(req) == 2: (name, version) = req flags = None else: (name, version, flags) = req string = name if flags: if flags & (rpm.RPMSENSE_LESS | rpm.RPMSENSE_GREATER | rpm.RPMSENSE_EQUAL): string = string + " " if flags & rpm.RPMSENSE_LESS: string = string + "<" if flags & rpm.RPMSENSE_GREATER: string = string + ">" if flags & rpm.RPMSENSE_EQUAL: string = string + "=" string = string + " %s" % version return string glade_file = "UnresolvableDependenciesDialog.glade" if not os.path.isfile(glade_file): glade_file = GLADEDIR + glade_file xml = gtk.glade.XML (glade_file, domain=PROGNAME)
self.dialog = xml.get_widget ('unresolvable_dependencies_dialog') if parent: self.dialog.set_transient_for (parent) # Warn. label = '<span weight="bold" size="larger">' if len (unresolvable_dependencies) == 1: label += _("Package Not Found") + '</span>\n\n' label += _("The following package could not be found on your system. Installation cannot continue until it is installed.") else: label += _("Packages Not Found") + '</span>\n\n' label += _("The following packages could not be found on your system. Installation cannot continue until they are installed.") xml.get_widget ('info_label').set_markup (label)
# Setup the list tree_view = xml.get_widget ('details_tree_view') column = gtk.TreeViewColumn (_("Unlocatable package"), gtk.CellRendererText(), text=0) tree_view.append_column (column) column = gtk.TreeViewColumn (_("Required by"), gtk.CellRendererText(), text=1) tree_view.append_column (column) tree_view.get_selection().set_mode (gtk.SELECTION_NONE)
model = gtk.ListStore (str, str) for dep in unresolvable_dependencies: iter = model.append () model.set_value (iter, 0, formatRequire(dep[1])) model.set_value (iter, 1, dep[0])
tree_view.set_model (model)
def run(self): ret = self.dialog.run () self.dialog.destroy() return ret
|