diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-06-06 16:22:04 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-06-06 16:22:04 +0100 |
commit | ac0efd1bd6c703147bd8d3caedf489fab87d6131 (patch) | |
tree | e6af981b6e90be35447dbb88dd276a4d8ff2d47e /src/backend/mirror.py | |
parent | 49e6ab19aa461151132dfb4f1cf962d4ef403c66 (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.py | 60 |
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) |