diff -up system-config-rootpassword-1.99.6/src/passwordDialog.py.python3 system-config-rootpassword-1.99.6/src/passwordDialog.py --- system-config-rootpassword-1.99.6/src/passwordDialog.py.python3 2009-09-14 13:16:11.000000000 +0200 +++ system-config-rootpassword-1.99.6/src/passwordDialog.py 2019-11-19 13:18:47.765718065 +0100 @@ -23,10 +23,12 @@ # import string -import gtk -import gobject +import gi +gi.require_version('Gtk', '3.0') +gi.require_version('Gdk', '3.0') +from gi.repository import Gtk,Gdk import libuser -import cracklib +import pwquality import sys sys.path.append('/usr/share/system-config-rootpassword') @@ -34,99 +36,99 @@ sys.path.append('/usr/share/system-confi ## I18N ## import gettext -_ = lambda x: gettext.ldgettext("system-config-rootpassword", x) -N_ = lambda x: x +t = gettext.translation("system-config-rootpassword", fallback=True) +_ = t.gettext ## ## Icon for windows ## iconPixbuf = None -try: - iconPixbuf = gtk.gdk.pixbuf_new_from_file("/usr/share/system-config-rootpassword/pixmaps/system-config-rootpassword.png") -except: - pass +img = Gtk.Image() +img.set_from_file("/usr/share/system-config-rootpassword/pixmaps/system-config-rootpassword.png") +iconPixbuf = img.get_pixbuf() class childWindow: #You must specify a runPriority for the order in which you wish your module to run runPriority = 40 - moduleName = _("Root Password") + moduleName = str(_("Root Password")) moduleClass = "reconfig" commentTag = _("Change the root password for the system") def destroy(self, args): - gtk.main_quit() + Gtk.main_quit() def __init__(self, user=None): self.admin = libuser.ADMIN() self.user = user self.doDebug = None - self.mainWindow = gtk.Window() + self.mainWindow = Gtk.Window() self.mainWindow.connect("destroy", self.destroy) - self.mainWindow.set_position(gtk.WIN_POS_CENTER) + self.mainWindow.set_position(Gtk.WindowPosition.CENTER) self.mainWindow.set_icon(iconPixbuf) self.mainWindow.set_border_width(10) self.mainWindow.set_resizable(False) - self.toplevel = gtk.VBox(False) - self.mainVBox = gtk.VBox(False) - self.iconBox = gtk.HBox() - self.passwordEntry = gtk.Entry() + self.toplevel = Gtk.VBox(False) + self.mainVBox = Gtk.VBox(False) + self.iconBox = Gtk.HBox() + self.passwordEntry = Gtk.Entry() self.passwordEntry.set_visibility(False) - self.confirmEntry = gtk.Entry() + self.confirmEntry = Gtk.Entry() self.confirmEntry.set_visibility(False) - self.okButton = gtk.Button('_Change root password') - self.cancelButton = gtk.Button(stock='gtk-cancel') - self.securityBar = gtk.ProgressBar(adjustment=None) - self.securityTooltips = gtk.Tooltips() + self.okButton = Gtk.Button(_('OK')) + self.cancelButton = Gtk.Button(_('Cancel')) + self.securityBar = Gtk.ProgressBar() + self.securityBar.set_show_text(True) p = None self.icon = None - try: - p = gtk.gdk.pixbuf_new_from_file("../pixmaps/system-config-rootpassword.png") - except: - try: - p = gtk.gdk.pixbuf_new_from_file("/usr/share/system-config-rootpassword/pixmaps/system-config-rootpassword.png") - except: - print "no image found" - pass - - if p: - self.icon = gtk.Image() + img = Gtk.Image() + img.set_from_file("../pixmaps/system-config-rootpassword.png") + p = img.get_pixbuf() + if p == None: + img.set_from_file("/usr/share/system-config-rootpassword/pixmaps/system-config-rootpassword.png") + p=img.get_pixbuf() + if p == None: + print("no image found") + else: + self.icon = Gtk.Image() self.icon.set_from_pixbuf(p) - self.title = gtk.Label(_("Root Password")) - self.title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse ("white")) + self.title = Gtk.Label(_("Root Password")) + color = Gdk.RGBA() + color.parse("white") + self.title.override_color(Gtk.StateType.NORMAL,color) if self.user == None: #If no user was passed in, assume that we're chaning the root password - self.msgLabel = gtk.Label(_("You can change the root password by filling \nthe following fields:")) + self.msgLabel = Gtk.Label(_("You can change the root password by filling \nthe following fields:")) self.user = "root" else: - self.msgLabel = gtk.Label(_("Please set the password for %s.") % self.user) + self.msgLabel = Gtk.Label(_("Please set the password for %s.") % self.user) self.msgLabel.set_line_wrap(False) self.msgLabel.set_alignment(0.0, 0.5) - self.table = gtk.Table(2, 2) - label = gtk.Label(_("New Root Password:")) + self.table = Gtk.Table(2, 2) + label = Gtk.Label(_("New Root Password:")) label.set_alignment(0.0, 0.5) - self.table.attach(label, 0, 1, 0, 1, gtk.FILL) - self.table.attach(self.passwordEntry, 1, 2, 0, 1, gtk.SHRINK, gtk.FILL, 5, 5) - label = gtk.Label(_("Confirm Root Password:")) + self.table.attach(label, 0, 1, 0, 1) + self.table.attach(self.passwordEntry, 1, 2, 0, 1) + label = Gtk.Label(_("Confirm Root Password:")) label.set_alignment(0.0, 0.5) - self.table.attach(label, 0, 1, 1, 2, gtk.FILL) - self.table.attach(self.confirmEntry, 1, 2, 1, 2, gtk.SHRINK, gtk.FILL, 5, 5) + self.table.attach(label, 0, 1, 1, 2) + self.table.attach(self.confirmEntry, 1, 2, 1, 2) def okClicked(self, *args): result = self.apply() if result == 0: - gtk.main_quit() + Gtk.main_quit() def apply(self, *args): passwd1 = self.passwordEntry.get_text() passwd2 = self.confirmEntry.get_text() if self.doDebug: - print "don't change root password in debug mode" + print("don't change root password in debug mode") return 0 #if (len(passwd1) < 6) or (len(passwd2) < 6): @@ -136,12 +138,12 @@ class childWindow: # self.grabFocus() # return None - elif passwd1 != passwd2: - self.msgLabel.set_text("The two fields did not match. Please try \nagain:") - self.passwordEntry.set_text("") - self.confirmEntry.set_text("") - self.grabFocus() - return None + elif passwd1 != passwd2: + self.msgLabel.set_text("The two fields did not match. Please try \nagain:") + self.passwordEntry.set_text("") + self.confirmEntry.set_text("") + self.grabFocus() + return None if self.doDebug: @@ -152,7 +154,7 @@ class childWindow: return 0 def setKickstartData(self, kickstartData): - print "in setKickstartData" + print("in setKickstartData") #Get the lang from the list of languages return 0 @@ -163,7 +165,7 @@ class childWindow: def launch(self, doDebug = None): self.doDebug = doDebug - self.internalVBox = gtk.VBox(False, 10) + self.internalVBox = Gtk.VBox(False, 10) self.internalVBox.set_border_width(10) self.msgLabel.set_size_request(500, -1) @@ -185,17 +187,19 @@ class childWindow: test = ((length_password/16.0)<= 1.0) and (length_password/16.0) or 1.0 strength = None try: - cracklib.FascistCheck(self.passwordEntry.get_text()) - except ValueError as e: - strength = e.message + settings = pwquality.PWQSettings() + settings.read_config() + settings.check(self.passwordEntry.get_text()) + except pwquality.PWQError as e: + strength = e.args[1] if (strength == None): self.securityBar.set_text("Security Level: Strong") if (test < 0.8): test = 0.8 self.securityBar.set_fraction(test) - self.securityTooltips.set_tip(self.passwordEntry, "Good") + self.passwordEntry.set_tooltip_text("Good") else : - self.securityTooltips.set_tip(self.passwordEntry, strength) + self.passwordEntry.set_tooltip_text(str(strength)) if (0.5 >= test ): self.securityBar.set_text("Security Level: Weak") self.securityBar.set_fraction(test) @@ -215,28 +219,28 @@ class childWindow: def stand_alone(self): self.mainWindow.set_title(_("Root Password")) - bb = gtk.HButtonBox() - bb.set_layout(gtk.BUTTONBOX_END) + bb = Gtk.HButtonBox() + bb.set_layout(Gtk.ButtonBoxStyle.END) bb.set_spacing(5) self.passwordEntry.connect("changed", self.activation) self.confirmEntry.connect("changed", self.activation) self.okButton.set_sensitive(False) self.okButton.connect("clicked", self.okClicked) self.cancelButton.connect("clicked", self.destroy) - self.securityTooltips.set_tip(self.passwordEntry, "Remember that your password should have at least 6 characters in length") + self.passwordEntry.set_tooltip_text("Remember that your password should have at least 6 characters in length") self.securityBar.set_fraction(0.0) if self.icon: - self.iconBox.pack_start(self.icon, False) - self.iconBox.pack_start(self.msgLabel, False) + self.iconBox.pack_start(self.icon, False,0,0) + self.iconBox.pack_start(self.msgLabel, False,0,0) self.mainWindow.add(self.toplevel) self.mainVBox.set_spacing(5) - self.toplevel.pack_start(self.iconBox, False) - self.toplevel.pack_start(self.mainVBox, False) - self.mainVBox.pack_start(self.table, False) - self.mainVBox.pack_start(self.securityBar) - bb.pack_start(self.cancelButton) - bb.pack_start(self.okButton) - self.mainVBox.pack_start(bb, False) + self.toplevel.pack_start(self.iconBox, False,0,0) + self.toplevel.pack_start(self.mainVBox, False,0,0) + self.mainVBox.pack_start(self.table, False,0,0) + self.mainVBox.pack_start(self.securityBar,True,0,0) + bb.pack_start(self.cancelButton,True,0,0) + bb.pack_start(self.okButton,True,0,0) + self.mainVBox.pack_start(bb, False,0,0) self.mainWindow.show_all() self.passwordEntry.grab_focus() - gtk.main() + Gtk.main() diff -up system-config-rootpassword-1.99.6/src/rootpassword_tui.py.python3 system-config-rootpassword-1.99.6/src/rootpassword_tui.py --- system-config-rootpassword-1.99.6/src/rootpassword_tui.py.python3 2009-09-14 13:16:11.000000000 +0200 +++ system-config-rootpassword-1.99.6/src/rootpassword_tui.py 2019-11-19 13:18:56.744552866 +0100 @@ -16,7 +16,8 @@ import libuser from snack import * import gettext -_ = lambda x: gettext.ldgettext("system-config-rootpassword", x) +t = gettext.translation("system-config-rootpassword", fallback=True) +_ = t.gettext class RootPasswordWindow: @@ -45,7 +46,7 @@ class RootPasswordWindow: self.passgrid.setField (self.pwconfirm, 1, 1) self.toplevel.add (self.passgrid, 0, 1, (0, 0, 0, 1)) - self.bb = ButtonBar (screen, [_("OK"),_("Cancel")]) + self.bb = ButtonBar (screen, ((_("OK"),"ok"),(_("Cancel"), "cancel"))) self.toplevel.add (self.bb, 0, 2, growx = 1) def run(self): diff -up system-config-rootpassword-1.99.6/src/system-config-rootpassword.py.python3 system-config-rootpassword-1.99.6/src/system-config-rootpassword.py --- system-config-rootpassword-1.99.6/src/system-config-rootpassword.py.python3 2009-09-14 13:16:11.000000000 +0200 +++ system-config-rootpassword-1.99.6/src/system-config-rootpassword.py 2019-11-19 13:19:28.579967156 +0100 @@ -31,15 +31,14 @@ if __name__ == "__main__": ## I18N ## import gettext -_ = lambda x: gettext.ldgettext("system-config-rootpassword", x) -N_ = lambda x: x +t = gettext.translation("system-config-rootpassword", fallback=True) +_ = t.gettext def useTextMode(): import rootpassword_tui app = rootpassword_tui.childWindow() def useGuiMode(): - import gtk import passwordDialog app = passwordDialog.childWindow() app.stand_alone() @@ -62,7 +61,7 @@ else: try: useGuiMode() except: - print _("Starting graphical mode failed. Starting text mode instead.") + print(_("Starting graphical mode failed. Starting text mode instead.")) import time time.sleep(2) useTextMode() diff -up system-config-rootpassword-1.99.6/src/system-config-rootpassword.python3 system-config-rootpassword-1.99.6/src/system-config-rootpassword --- system-config-rootpassword-1.99.6/src/system-config-rootpassword.python3 2007-11-21 12:00:42.000000000 +0100 +++ system-config-rootpassword-1.99.6/src/system-config-rootpassword 2019-11-19 13:08:27.545129150 +0100 @@ -1,4 +1,4 @@ #!/bin/sh export PYTHONPATH=/usr/share/system-config-rootpassword -/usr/bin/python2 /usr/share/system-config-rootpassword/system-config-rootpassword.py $* +/usr/bin/python3 /usr/share/system-config-rootpassword/system-config-rootpassword.py $*