summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-31 01:19:56 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-31 01:19:56 +0000
commite4f2e722b2740d16ddc2ffa9b184287a7850b203 (patch)
treed22fa625f7d4a31625d8153d2630c3a71f58b978
parent5eaef5fdcc4648c6156b0a5f6d8a2907c2a5a303 (diff)
backend : reuse binhost module in csvfiles module, one less portage call
-rw-r--r--src/backend/check.py23
-rw-r--r--src/backend/csvfiles.py20
-rw-r--r--src/backend/update.py54
3 files changed, 61 insertions, 36 deletions
diff --git a/src/backend/check.py b/src/backend/check.py
index b2d8206..d5d3aca 100644
--- a/src/backend/check.py
+++ b/src/backend/check.py
@@ -2,11 +2,34 @@
import os
import subprocess
+import sisyphus.binhost
import sisyphus.filesystem
def root():
return True if os.getuid() == 0 else False
+
+def branch():
+ binhostURL = sisyphus.binhost.getURL()
+ localBranch = subprocess.check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD'])
+ mismatch = int()
+
+ if "packages-next" in binhostURL:
+ os.chdir(sisyphus.filesystem.portageRepoDir)
+ if localBranch.decode().strip() == "next":
+ print(binhostURL.replace('packages-next', 'csv-next') + 'remotePackagesPre.csv')
+ mismatch = int(0)
+ else:
+ mismatch = int(1)
+ else:
+ if localBranch.decode().strip() == "master":
+ mismatch = int(0)
+ else:
+ mismatch = int(1)
+
+ return localBranch,mismatch
+branch()
+
def portage():
if os.path.isdir(os.path.join(sisyphus.filesystem.portageRepoDir, '.git')):
os.chdir(sisyphus.filesystem.portageRepoDir)
diff --git a/src/backend/csvfiles.py b/src/backend/csvfiles.py
index 0c91e81..0d2e895 100644
--- a/src/backend/csvfiles.py
+++ b/src/backend/csvfiles.py
@@ -1,21 +1,17 @@
#!/usr/bin/python3
-import subprocess
-import io
+import sisyphus.binhost
def getURL():
remotePackagesCsvURL = []
remoteDescriptionsCsvURL = []
- portageExec = subprocess.Popen(['emerge', '--info', '--verbose'], stdout=subprocess.PIPE)
+ binhostURL = sisyphus.binhost.getURL()
- for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"):
- if "PORTAGE_BINHOST" in portageOutput.rstrip():
- if "packages-next" in portageOutput.rstrip():
- remotePackagesCsvURL = str(portageOutput.rstrip().split("=")[1].strip('\"').replace('packages-next', 'csv-next') + 'remotePackagesPre.csv')
- remoteDescriptionsCsvURL = str(portageOutput.rstrip().split("=")[1].strip('\"').replace('packages-next', 'csv-next') + 'remoteDescriptionsPre.csv')
- else:
- remotePackagesCsvURL = str(portageOutput.rstrip().split("=")[1].strip('\"').replace('packages', 'csv') + 'remotePackagesPre.csv')
- remoteDescriptionsCsvURL = str(portageOutput.rstrip().split("=")[1].strip('\"').replace('packages', 'csv') + 'remoteDescriptionsPre.csv')
+ if "packages-next" in binhostURL:
+ remotePackagesCsvURL = binhostURL.replace('packages-next', 'csv-next') + 'remotePackagesPre.csv'
+ remoteDescriptionsCsvURL = binhostURL.replace('packages-next', 'csv-next') + 'remoteDescriptionsPre.csv'
+ else:
+ remotePackagesCsvURL = binhostURL.replace('packages', 'csv') + 'remotePackagesPre.csv'
+ remoteDescriptionsCsvURL = binhostURL.replace('packages', 'csv') + 'remoteDescriptionsPre.csv'
- portageExec.wait()
return remotePackagesCsvURL,remoteDescriptionsCsvURL
diff --git a/src/backend/update.py b/src/backend/update.py
index 902c398..b99da1c 100644
--- a/src/backend/update.py
+++ b/src/backend/update.py
@@ -1,6 +1,7 @@
#!/usr/bin/python3
import animation
+import sys
import sisyphus.cache
import sisyphus.check
import sisyphus.database
@@ -11,28 +12,33 @@ import sisyphus.sync
def start():
sisyphus.cache.clean()
- needsPortage = sisyphus.check.portage()
- needsOverlay = sisyphus.check.overlay()
+ mismatch = sisyphus.check.branch()
- if needsPortage == 1:
- if needsOverlay == 1:
- sisyphus.sync.portage()
- sisyphus.sync.overlay()
- sisyphus.sync.portageCfg()
- sisyphus.database.syncRemote()
- sisyphus.metadata.regenSilent()
- elif not needsOverlay == 1:
- sisyphus.sync.portage()
- sisyphus.sync.overlay()
- sisyphus.sync.portageCfg()
- sisyphus.database.syncRemote()
- sisyphus.metadata.regenSilent()
- elif not needsPortage == 1:
- if needsOverlay == 1:
- sisyphus.sync.portage()
- sisyphus.sync.overlay()
- sisyphus.sync.portageCfg()
- sisyphus.database.syncRemote()
- sisyphus.metadata.regenSilent()
- elif not needsOverlay == 1:
- sisyphus.sync.portageCfg()
+ if mismatch == 0:
+ needsPortage = sisyphus.check.portage()
+ needsOverlay = sisyphus.check.overlay()
+
+ if needsPortage == 1:
+ if needsOverlay == 1:
+ sisyphus.sync.portage()
+ sisyphus.sync.overlay()
+ sisyphus.sync.portageCfg()
+ sisyphus.database.syncRemote()
+ sisyphus.metadata.regenSilent()
+ elif not needsOverlay == 1:
+ sisyphus.sync.portage()
+ sisyphus.sync.overlay()
+ sisyphus.sync.portageCfg()
+ sisyphus.database.syncRemote()
+ sisyphus.metadata.regenSilent()
+ elif not needsPortage == 1:
+ if needsOverlay == 1:
+ sisyphus.sync.portage()
+ sisyphus.sync.overlay()
+ sisyphus.sync.portageCfg()
+ sisyphus.database.syncRemote()
+ sisyphus.metadata.regenSilent()
+ elif not needsOverlay == 1:
+ sisyphus.sync.portageCfg()
+ else:
+ sys.exit("\n" + "")