summaryrefslogtreecommitdiff
path: root/DistUpgrade/DistUpgradeViewGtk.py
diff options
context:
space:
mode:
Diffstat (limited to 'DistUpgrade/DistUpgradeViewGtk.py')
-rw-r--r--DistUpgrade/DistUpgradeViewGtk.py37
1 files changed, 31 insertions, 6 deletions
diff --git a/DistUpgrade/DistUpgradeViewGtk.py b/DistUpgrade/DistUpgradeViewGtk.py
index dba8014f..f3ab2983 100644
--- a/DistUpgrade/DistUpgradeViewGtk.py
+++ b/DistUpgrade/DistUpgradeViewGtk.py
@@ -212,6 +212,7 @@ class GtkInstallProgressAdapter(InstallProgress):
# start showing when we gathered some data
if percent > 1.0:
self.last_activity = time.time()
+ self.activity_timeout_reported = False
delta = self.last_activity - self.start_time
time_per_percent = (float(delta)/percent)
eta = (100.0 - self.percent) * time_per_percent
@@ -242,7 +243,9 @@ class GtkInstallProgressAdapter(InstallProgress):
# check about terminal activity
if self.last_activity > 0 and \
(self.last_activity + self.TIMEOUT_TERMINAL_ACTIVITY) < time.time():
- logging.warning("no activity on terminal for %s seconds" % self.TIMEOUT_TERMINAL_ACTIVITY)
+ if not self.activity_timeout_reported:
+ logging.warning("no activity on terminal for %s seconds (%s)" % (self.TIMEOUT_TERMINAL_ACTIVITY, self.label_status.get_text()))
+ self.activity_timeout_reported = True
self.parent.expander_terminal.set_expanded(True)
while gtk.events_pending():
gtk.main_iteration()
@@ -253,9 +256,19 @@ class DistUpgradeVteTerminal(object):
self.term = term
self.parent = parent
def call(self, cmd):
+ def wait_for_child(widget):
+ #print "wait for child finished"
+ self.finished=True
self.term.show()
+ self.term.connect("child-exited", wait_for_child)
self.parent.expander_terminal.set_expanded(True)
self.term.fork_command(command=cmd[0],argv=cmd)
+ self.finished = False
+ while not self.finished:
+ while gtk.events_pending():
+ gtk.main_iteration()
+ time.sleep(0.1)
+ del self.finished
class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
" gtk frontend of the distUpgrade tool "
@@ -299,9 +312,11 @@ class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
logging.error("not handled expection:\n%s" % "\n".join(lines))
self.error(_("A fatal error occured"),
_("Please report this as a bug and include the "
- "files '/var/log/dist-upgrade.log' and "
- "'/var/log/dist-upgrade-apt.log' "
- "in your report. The upgrade aborts now. "),
+ "files /var/log/dist-upgrade.log and "
+ "/var/log/dist-upgrade-apt.log "
+ "in your report. The upgrade aborts now.\n"
+ "Your original sources.list was saved in "
+ "/etc/apt/sources.list.distUpgrade."),
"\n".join(lines))
sys.exit(1)
@@ -361,6 +376,16 @@ class DistUpgradeViewGtk(DistUpgradeView,SimpleGladeApp):
attrlist.insert(attr)
label.set_property("attributes",attrlist)
+ def information(self, summary, msg):
+ msg = "<big><b>%s</b></big>\n\n%s" % (summary,msg)
+ dialog = gtk.MessageDialog(parent=self.window_main,
+ flags=gtk.DIALOG_MODAL,
+ type=gtk.MESSAGE_INFO,
+ buttons=gtk.BUTTONS_CLOSE)
+ dialog.set_markup(msg)
+ dialog.run()
+ dialog.destroy()
+
def error(self, summary, msg, extended_msg=None):
self.dialog_error.set_transient_for(self.window_main)
#self.expander_terminal.set_expanded(True)
@@ -498,10 +523,10 @@ if __name__ == "__main__":
cache[pkg].markInstall()
cache.commit(fp,ip)
- sys.exit(0)
+ #sys.exit(0)
ip.conffile("TODO","TODO~")
view.getTerminal().call(["dpkg","--configure","-a"])
- view.getTerminal().call(["ls"])
+ view.getTerminal().call(["ls","-R","/usr"])
view.error("short","long",
"asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended\n"
"asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended\n"