summaryrefslogtreecommitdiff
path: root/src/backend/install.py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-15 13:40:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-15 13:40:05 +0100
commit47acd0b822261b6b934f47b89b2276a686cc1865 (patch)
treee9e8088518f5ae5f7cc7e355927da2ce550220d9 /src/backend/install.py
parentbec61c175f88026ff9f45abcb0c66194132b8f5f (diff)
backend : improve the countdown timer, use it to kill the GUI whenever an unsupported operation is requested
Diffstat (limited to 'src/backend/install.py')
-rw-r--r--src/backend/install.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/backend/install.py b/src/backend/install.py
index 8ca3a45..aaab797 100644
--- a/src/backend/install.py
+++ b/src/backend/install.py
@@ -39,7 +39,7 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
bin_list, src_list, need_cfg = pickle.load(
open(os.path.join(sisyphus.getfs.p_mtd_dir, "sisyphus_pkgdeps.pickle"), "rb"))
- if need_cfg != 0: # catch aliens
+ if need_cfg != 0: # catch aliens
p_exe = subprocess.Popen(['emerge', '--quiet', '--pretend', '--getbinpkg', '--rebuilt-binaries',
'--with-bdeps=y', '--misspell-suggestion=n', '--fuzzy-search=n'] + list(pkgname))
try:
@@ -55,6 +55,12 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
print("\nCannot proceed!\n")
print(
"Apply the above changes to your portage configuration files and try again")
+
+ for i in range(9, 0, -1):
+ print(f"Killing application in : {i} seconds!")
+ time.sleep(1)
+
+ sys.exit(app.exec_()) # kill GUI window
else:
print(sisyphus.getcolor.bright_red +
"\nCannot proceed!\n" + sisyphus.getcolor.reset)
@@ -68,7 +74,7 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
sys.exit()
if ebuild: # ebuild mode
- if len(bin_list) == 0 and len(src_list) != 0: # source only, ignore aliens
+ if len(bin_list) == 0 and len(src_list) != 0: # source mode, ignore aliens
print("\n" + sisyphus.getcolor.green + "These are the source packages that would be merged, in order:" + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.green + ", ".join(
src_list) + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.bright_white + "Total:" + " " + str(len(src_list)) + " " + "source package(s)" + sisyphus.getcolor.reset + "\n")
while True:
@@ -94,7 +100,7 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
print("\nSorry, response" + " " + "'" +
user_input + "'" + " " + "not understood.\n")
continue
- elif len(bin_list) != 0 and len(src_list) != 0: # binary and source, ignore aliens
+ elif len(bin_list) != 0 and len(src_list) != 0: # hybrid mode, ignore aliens
print("\n" + sisyphus.getcolor.green + "These are the binary packages that would be merged, in order:" + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.magenta + ", ".join(
bin_list) + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.bright_white + "Total:" + " " + str(len(bin_list)) + " " + "binary package(s)" + sisyphus.getcolor.reset + "\n")
print("\n" + sisyphus.getcolor.green + "These are the source packages that would be merged, in order:" + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.green + ", ".join(
@@ -124,7 +130,7 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
print("\nSorry, response" + " " + "'" +
user_input + "'" + " " + "not understood.\n")
continue
- elif len(bin_list) != 0 and len(src_list) == 0: # binary only, fallback
+ elif len(bin_list) != 0 and len(src_list) == 0: # binary mode, fallback
print("\n" + sisyphus.getcolor.green + "These are the binary packages that would be merged, in order:" + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.magenta + ", ".join(
bin_list) + sisyphus.getcolor.reset + "\n\n" + sisyphus.getcolor.bright_white + "Total:" + " " + str(len(bin_list)) + " " + "binary package(s)" + sisyphus.getcolor.reset + "\n")
while True:
@@ -153,29 +159,41 @@ def start(pkgname, ebuild=False, gfx_ui=False, oneshot=False):
user_input + "'" + " " + "not understood.\n")
continue
else: # non-ebuild mode
- if len(bin_list) == 0 and len(src_list) != 0: # source only (noop), catch aliens
+ if len(bin_list) == 0 and len(src_list) != 0: # source mode (noop), catch aliens
if gfx_ui:
print("\nSource package(s) found in the mix!\n")
print("Use sisyphus CLI:" + " " + "'" + "sisyphus install" +
" " + " ".join(pkgname) + "--ebuild" + "'")
+
+ for i in range(9, 0, -1):
+ print(f"Killing application in : {i} seconds!")
+ time.sleep(1)
+
+ sys.exit(app.exec_()) # kill GUI window
else:
print(sisyphus.getcolor.bright_red +
"\nSource package(s) found in the mix!\n" + sisyphus.getcolor.reset)
print(sisyphus.getcolor.bright_yellow + "Use" + sisyphus.getcolor.reset + " " +
"'" + "sisyphus install" + " " + " ".join(pkgname) + " " + "--ebuild" + "'")
sys.exit()
- elif len(bin_list) != 0 and len(src_list) != 0: # binary and source (noop), catch aliens
+ elif len(bin_list) != 0 and len(src_list) != 0: # hybrid mode (noop), catch aliens
if gfx_ui:
print("\nSource package(s) found in the mix!\n")
print("Use sisyphus CLI:" + " " + "'" + "sisyphus install" +
" " + " ".join(pkgname) + "--ebuild" + "'")
+
+ for i in range(9, 0, -1):
+ print(f"Killing application in : {i} seconds!")
+ time.sleep(1)
+
+ sys.exit(app.exec_()) # kill GUI window
else:
print(sisyphus.getcolor.bright_red +
"\nSource package(s) found in the mix!\n" + sisyphus.getcolor.reset)
print(sisyphus.getcolor.bright_yellow + "Use" + sisyphus.getcolor.reset + " " +
"'" + "sisyphus install" + " " + " ".join(pkgname) + " " + "--ebuild" + "'")
sys.exit()
- elif len(bin_list) != 0 and len(src_list) == 0: # binary only
+ elif len(bin_list) != 0 and len(src_list) == 0: # binary mode
if gfx_ui:
print("\n" + "These are the binary packages that will be merged, in order:" + "\n\n" + ", ".join(
bin_list) + "\n\n" + "Total:" + " " + str(len(bin_list)) + " " + "binary package(s)" + "\n\n")