From baf4d66fea871cd6c285c51fcbb995efe5dd6800 Mon Sep 17 00:00:00 2001 From: necoro <> Date: Mon, 9 Jul 2007 04:51:41 +0000 Subject: added resume_loop plugin --- portato/plugins/resume_loop.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 portato/plugins/resume_loop.py (limited to 'portato/plugins') diff --git a/portato/plugins/resume_loop.py b/portato/plugins/resume_loop.py new file mode 100644 index 0000000..9891fee --- /dev/null +++ b/portato/plugins/resume_loop.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# +# File: portato/plugins/resume_loop.py +# This file is part of the Portato-Project, a graphical portage-frontend. +# +# Copyright (C) 2007 René 'Necoro' Neumann +# This is free software. You may redistribute copies of it under the terms of +# the GNU General Public License version 2. +# There is NO WARRANTY, to the extent permitted by law. +# +# Written by René 'Necoro' Neumann + +import pty +from subprocess import call, STDOUT +from portato.backend import system +from portato.helper import debug + +console = None +command = "until emerge --resume --skipfirst; do : ; done" + +def set_console (*args, **kwargs): + global console + console = kwargs["console"] + +def resume_loop (retcode, *args, **kwargs): + if retcode is None: + debug("Resume-loop called while process is still running!", warn = True) + elif retcode == 0: + # everything ok - ignore + #pass + debug("Everything is ok") + else: + if console is None: + debug("No console for the resume loop...") + else: + # open tty + (master, slave) = pty.openpty() + console.set_pty(master) + call(command, stdout = slave, stderr = STDOUT, shell = True, env = system.get_environment()) -- cgit v1.2.3