summaryrefslogtreecommitdiff
path: root/src/backend/mirror.py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-06-06 16:22:04 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-06-06 16:22:04 +0100
commitac0efd1bd6c703147bd8d3caedf489fab87d6131 (patch)
treee6af981b6e90be35447dbb88dd276a4d8ff2d47e /src/backend/mirror.py
parent49e6ab19aa461151132dfb4f1cf962d4ef403c66 (diff)
big rewrite : split the backend in smaller pieces, rework the cli frontend to work with the new backend ... gui frontend wip
Diffstat (limited to 'src/backend/mirror.py')
-rw-r--r--src/backend/mirror.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/backend/mirror.py b/src/backend/mirror.py
new file mode 100644
index 0000000..7d041cf
--- /dev/null
+++ b/src/backend/mirror.py
@@ -0,0 +1,60 @@
+#!/usr/bin/python3
+
+mirrorCfg = '/etc/sisyphus/mirrors.conf'
+
+def getList():
+ mirrorList = []
+
+ with open(mirrorCfg) as mirrorFile:
+ for line in mirrorFile.readlines():
+ if 'PORTAGE_BINHOST=' in line:
+ url = line.split("=")[1].replace('"', '').rstrip()
+ mirror = {'isActive': True, 'Url': url}
+ if line.startswith('#'):
+ mirror['isActive'] = False
+ mirrorList.append(mirror)
+ mirrorFile.close()
+
+ return mirrorList
+
+def printList():
+ mirrorList = getList()
+
+ for i, line in enumerate(mirrorList):
+ if line['isActive']:
+ print(i + 1, '*', line['Url'])
+ else:
+ print(i + 1, ' ', line['Url'])
+
+def writeList(mirrorList):
+ with open(mirrorCfg, 'w+') as mirrorFile:
+ mirrorFile.write("#######################################################\n")
+ mirrorFile.write("# Support for multiple mirrors is somewhat incomplete #\n")
+ mirrorFile.write("#######################################################\n")
+ mirrorFile.write("# Please avoid using the Main Repository #\n")
+ mirrorFile.write("# http://mirrors.redcorelinux.org/redcorelinux #\n")
+ mirrorFile.write("# as the bandwidth is limited, use mirrors instead #\n")
+ mirrorFile.write("#######################################################\n")
+ mirrorFile.write("# Uncomment only one mirror from the list bellow #\n")
+ mirrorFile.write("#######################################################\n")
+ mirrorFile.write("\n")
+ for line in mirrorList:
+ mirror = 'PORTAGE_BINHOST=' + '"' + line['Url'] + '"'
+ if not line['isActive']:
+ mirror = '# ' + mirror
+ mirrorFile.write(mirror + "\n")
+ mirrorFile.write("\n")
+
+def setActive(mirror):
+ mirror = int(mirror[0])
+ mirrorList = getList()
+ if mirror not in range(1, len(mirrorList) + 1):
+ print("\n" + "Mirror index is wrong, please check with sisyphus --mirror --list" + "\n")
+ else:
+ for i in range(0, len(mirrorList)):
+ indx = i + 1
+ if indx == mirror:
+ mirrorList[i]['isActive'] = True
+ else:
+ mirrorList[i]['isActive'] = False
+ writeList(mirrorList)