diff options
Diffstat (limited to 'src/backend/setmirror.py')
-rw-r--r-- | src/backend/setmirror.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/backend/setmirror.py b/src/backend/setmirror.py new file mode 100644 index 0000000..83d83f1 --- /dev/null +++ b/src/backend/setmirror.py @@ -0,0 +1,72 @@ +#!/usr/bin/python3 + +import sisyphus.getfs + + +def getList(): + mirrorList = [] + + with open(sisyphus.getfs.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(sisyphus.getfs.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): + 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) |