[PATCH 2/2] Import GUI-specific stuff only when running GUI in entropy handling
Vratislav Podzimek
vpodzime at redhat.com
Fri Oct 10 12:06:56 UTC 2014
On Wed, 2014-10-08 at 15:14 -0400, Anne Mulhern wrote:
>
>
>
> ----- Original Message -----
> > From: "Vratislav Podzimek" <vpodzime at redhat.com>
> > To: anaconda-patches at lists.fedorahosted.org
> > Sent: Wednesday, October 8, 2014 4:55:40 AM
> > Subject: [PATCH 2/2] Import GUI-specific stuff only when running GUI in entropy handling
> >
> > Otherwise crashes happen if only the anaconda-tui package is installed.
> >
> > Related: rhbz#1073679
> > Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
> > ---
> > pyanaconda/ui/gui/spokes/lib/entropy_dialog.py | 10 +++++++++-
> > pyanaconda/ui/lib/entropy.py | 20 ++++++--------------
> > 2 files changed, 15 insertions(+), 15 deletions(-)
> >
> > diff --git a/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
> > b/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
> > index 833e579..d04b08d 100644
> > --- a/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
> > +++ b/pyanaconda/ui/gui/spokes/lib/entropy_dialog.py
> > @@ -24,9 +24,17 @@ import time
> > from gi.repository import Gtk, GLib
> >
> > from pyanaconda.ui.gui import GUIObject
> > +from pyanaconda.ui.gui.utils import gtk_action_wait
> > from blivet.util import get_current_entropy
> >
> > -__all__ = ["EntropyDialog"]
> > +__all__ = ["run_entropy_dialog"]
> > +
> > + at gtk_action_wait
> > +def run_entropy_dialog(ksdata, desired_entropy):
> > + """Show dialog with waiting for entropy"""
> > +
> > + dialog = EntropyDialog(ksdata, desired_entropy)
> > + dialog.run()
> >
> > class EntropyDialog(GUIObject):
> > builderObjects = ["entropyDialog"]
> > diff --git a/pyanaconda/ui/lib/entropy.py b/pyanaconda/ui/lib/entropy.py
> > index 9e7d441..1fe5634 100644
> > --- a/pyanaconda/ui/lib/entropy.py
> > +++ b/pyanaconda/ui/lib/entropy.py
> > @@ -29,10 +29,8 @@ import select
> > import sys
> > import termios
> >
> > -from gi.repository import Gtk
> > -from pyanaconda.ui.gui.spokes.lib.entropy_dialog import EntropyDialog
> > -from pyanaconda.ui.gui.utils import gtk_action_wait
> > from pyanaconda.progress import progress_message
> > +from pykickstart.constants import DISPLAY_MODE_GRAPHICAL
> > from blivet.util import get_current_entropy
> >
> > from pyanaconda.i18n import _
> > @@ -48,21 +46,15 @@ def wait_for_entropy(msg, desired_entropy, ksdata):
> >
> > """
> >
> > - (succ, _args) = Gtk.init_check(None)
> > - if succ:
> > - # Gtk initialized, set progress message and run the GUI dialog
> > + if ksdata.displaymode.displayMode == DISPLAY_MODE_GRAPHICAL:
> > + # cannot import globally because GUI code may be missing for text
> > mode
> > + # in some cases
> > + from pyanaconda.ui.gui.spokes.lib.entropy_dialog import
> > run_entropy_dialog
> > progress_message(_("The system needs more random data entropy"))
> > - _gui_wait(ksdata, desired_entropy)
> > + run_entropy_dialog(ksdata, desired_entropy)
> > else:
> > _tui_wait(msg, desired_entropy)
> >
> > - at gtk_action_wait
> > -def _gui_wait(ksdata, desired_entropy):
> > - """Show dialog with waiting for entropy"""
> > -
> > - dialog = EntropyDialog(ksdata, desired_entropy)
> > - dialog.run()
> > -
> > def _tui_wait(msg, desired_entropy):
> > """Tell user we are waiting for entropy"""
> >
> > --
> > 1.9.3
> >
> > _______________________________________________
> > anaconda-patches mailing list
> > anaconda-patches at lists.fedorahosted.org
> > https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
> >
>
> If the gui_wait() function is migrating to a GUI-specific location,
> the tui_wait() function probably ought to migrate to a TUI-specific location,
> also.
That's what I thought at first as well, but I really don't want to
create a separate module for a single function.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list