diff options
Diffstat (limited to 'src/backend/resolveDeps.py')
-rw-r--r-- | src/backend/resolveDeps.py | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/src/backend/resolveDeps.py b/src/backend/resolveDeps.py index b889d5d..517c574 100644 --- a/src/backend/resolveDeps.py +++ b/src/backend/resolveDeps.py @@ -1,7 +1,6 @@ #!/usr/bin/python3 import animation -import io import subprocess @animation.wait('resolving dependencies') @@ -10,30 +9,30 @@ def package(pkgname): areSources = [] needsConfig = int() portageExec = subprocess.Popen(['emerge', '--quiet', '--pretend', '--getbinpkg', '--rebuilt-binaries', '--with-bdeps=y', '--misspell-suggestion=n', '--fuzzy-search=n'] + list(pkgname), stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, stderr = portageExec.communicate() - for portageOutput in io.TextIOWrapper(portageExec.stderr, encoding="utf-8"): - if "The following keyword changes are necessary to proceed:" in portageOutput.rstrip(): + for portageOutput in stderr.decode('ascii').splitlines(): + if "The following keyword changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following mask changes are necessary to proceed:" in portageOutput.rstrip(): + if "The following mask changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following USE changes are necessary to proceed:" in portageOutput.rstrip(): + if "The following USE changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following REQUIRED_USE flag constraints are unsatisfied:" in portageOutput.rstrip(): + if "The following REQUIRED_USE flag constraints are unsatisfied:" in portageOutput: needsConfig = int(1) - for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): - if "[binary" in portageOutput.rstrip(): - isBinary = str(portageOutput.rstrip().split("]")[1].split("[")[0].strip("\ ")) + for portageOutput in stdout.decode('ascii').splitlines(): + if "[binary" in portageOutput: + isBinary = portageOutput.split("]")[1].split("[")[0].strip(" ") areBinaries.append(isBinary) - if "[ebuild" in portageOutput.rstrip(): - isSource = str(portageOutput.rstrip().split("]")[1].split("[")[0].strip("\ ")) + if "[ebuild" in portageOutput: + isSource = portageOutput.split("]")[1].split("[")[0].strip(" ") areSources.append(isSource) - portageExec.communicate() return areBinaries,areSources,needsConfig @animation.wait('resolving dependencies') @@ -42,28 +41,28 @@ def world(): areSources = [] needsConfig = int() portageExec = subprocess.Popen(['emerge', '--quiet', '--update', '--deep', '--newuse', '--pretend', '--getbinpkg', '--rebuilt-binaries', '--backtrack=100', '--with-bdeps=y', '--misspell-suggestion=n', '--fuzzy-search=n', '@world'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, stderr = portageExec.communicate() - for portageOutput in io.TextIOWrapper(portageExec.stderr, encoding="utf-8"): - if "The following keyword changes are necessary to proceed:" in portageOutput.rstrip(): + for portageOutput in stderr.decode('ascii').splitlines(): + if "The following keyword changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following mask changes are necessary to proceed:" in portageOutput.rstrip(): + if "The following mask changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following USE changes are necessary to proceed:" in portageOutput.rstrip(): + if "The following USE changes are necessary to proceed:" in portageOutput: needsConfig = int(1) - if "The following REQUIRED_USE flag constraints are unsatisfied:" in portageOutput.rstrip(): + if "The following REQUIRED_USE flag constraints are unsatisfied:" in portageOutput: needsConfig = int(1) - for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): - if "[binary" in portageOutput.rstrip(): - isBinary = str(portageOutput.rstrip().split("]")[1].split("[")[0].strip("\ ")) + for portageOutput in stdout.decode('ascii').splitlines(): + if "[binary" in portageOutput: + isBinary = portageOutput.split("]")[1].split("[")[0].strip(" ") areBinaries.append(isBinary) - if "[ebuild" in portageOutput.rstrip(): - isSource = str(portageOutput.rstrip().split("]")[1].split("[")[0].strip("\ ")) + if "[ebuild" in portageOutput: + isSource = portageOutput.split("]")[1].split("[")[0].strip(" ") areSources.append(isSource) - portageExec.communicate() return areBinaries,areSources,needsConfig |