summaryrefslogtreecommitdiff
path: root/src/backend/update.py
blob: 82281fe4f3acc2edfbb8f5456b5f0b9207f15544 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/python3

import animation
import sys
import time
import sisyphus.cache
import sisyphus.binhost
import sisyphus.check
import sisyphus.database
import sisyphus.sync

def syncAll():
    sisyphus.sync.portage()
    sisyphus.sync.overlay()
    sisyphus.sync.portageCfg()
    sisyphus.database.syncRemote()

@animation.wait('fetching updates')
def start():
    isBinhost = sisyphus.binhost.start()
    needsMatch,localBranch = sisyphus.check.branch()

    if needsMatch == 0:
        syncAll()
    else:
        if "packages-next" in isBinhost:
            print("\nCurrent branch: '" + localBranch.decode().strip()  + "' (stable)" + "\nCurrent binhost: '" + isBinhost + "' (testing)")
        else:
            print("\nCurrent branch: '" + localBranch.decode().strip()  + "' (testing)" + "\nCurrent binhost: '" + isBinhost + "' (stable)")
        sys.exit("\nInvalid branch - binhost pairing; Use 'sisyphus branch --help' for help; Quitting.")

def startqt():
    isBinhost = sisyphus.binhost.start()
    needsMatch,localBranch = sisyphus.check.branch()

    if needsMatch == 0:
        syncAll()
    else:
        if "packages-next" in isBinhost:
            print("\nCurrent branch: '" + localBranch.decode().strip()  + "' (stable)" + "\nCurrent binhost: '" + isBinhost + "' (testing)")
        else:
            print("\nCurrent branch: '" + localBranch.decode().strip()  + "' (testing)" + "\nCurrent binhost: '" + isBinhost + "' (stable)")
        print("\nInvalid branch - binhost pairing; Use 'sisyphus branch --help' for help; Quitting in 10 seconds.\n")
        t = int(10)
        while t:
            mins, secs = divmod(t, 60)
            timer = '{:02d}:{:02d}'.format(mins, secs)
            print(timer, end="\r")
            time.sleep(1)
            t -= 1

        sys.exit()