summaryrefslogtreecommitdiff
path: root/portato/plugins/resume_loop.py
diff options
context:
space:
mode:
Diffstat (limited to 'portato/plugins/resume_loop.py')
-rw-r--r--portato/plugins/resume_loop.py39
1 files changed, 39 insertions, 0 deletions
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 <necoro@necoro.net>
+
+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())
9 +0200'>2014-04-18reencryption: add to completion filesJason A. Donenfeld3-1/+5 2014-04-18Specify variable gpg.Jason A. Donenfeld1-1/+1 2014-04-18style: don't escape new line on &&Jason A. Donenfeld1-2/+2 2014-04-18reencryption: remove temporary file on failureJason A. Donenfeld1-1/+1 2014-04-18reencryption: only reencrypt files when requiredJason A. Donenfeld2-16/+37 2014-04-17cp: typo as cvJason A. Donenfeld1-1/+1 2014-04-17bash: gpg_id is localJason A. Donenfeld1-0/+1 2014-04-17move/copy: always reencrypt passwords at destinationJason A. Donenfeld5-25/+56 2014-04-17makefile: allow platform files with gnu sedJason A. Donenfeld1-7/+8 2014-04-17mv: Add pass mv/rename supportJason A. Donenfeld5-3/+78 2014-04-17revelation2pass: add plain XML importJavali1-11/+15 2014-04-17platform: add cygwin supportJason A. Donenfeld2-1/+17