-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdepotPage.py
More file actions
66 lines (57 loc) · 2.13 KB
/
depotPage.py
File metadata and controls
66 lines (57 loc) · 2.13 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
import os
import re
class DepotPageManager:
lstOptions = [{
"name":"Retour",
"target":"gitPage:none",
}
]
def __init__(self, scr):
self.toRoute:str = None
self.selectedCallBack = None
self.selectedClbkName = ""
self.scr = scr
self.repoName = "nil"
self.folderRepo = "nil"
def setData(self, params:list[str]):
self.repoName = params[0]
self.folderRepo = params[1]
print(self.repoName, self.folderRepo)
def getClBkName(self):
return self.selectedClbkName
def getVersionProject(self):
cmd = os.popen(f"""ssh -T git@192.168.1.4 -i ~/.ssh/id_rsa 'cd {self.folderRepo}/ && git show main:VERSION'""")
results = cmd.readlines()
cmd.close()
version_number = None
# Extract the version number using regular expressions
for line in results:
version_number = re.search(r"^(\d\.?){3,}", line)
if version_number is not None:
return version_number.string.split("\x1b")[0]
return version_number
def getOption(self, clbkName:str) -> dict:
for opt in self.lstOptions:
if opt["target"].split(":")[0] == clbkName:
return opt
else:
return {}
def drawListOptions(self, pos_encoder:int):
posYItem = 15
self.scr.put_text(self.repoName,0,5)
for option in range(0,len(self.lstOptions)):
if pos_encoder == option:
self.selectedClbkName = self.lstOptions[option]["target"]
self.scr.fill_rect(0,posYItem,5,(posYItem+10))
self.scr.put_text(self.lstOptions[option]["name"],10,(posYItem+3))
else:
self.scr.rect(0,posYItem,5,(posYItem+10))
self.scr.put_text(self.lstOptions[option]["name"],10,(posYItem+3))
posYItem += 15
posYItem+=15
self.scr.put_text(f"V:{self.getVersionProject()}",0,posYItem)
# posYItem+=15
# self.scr.put_text(f"S:Online",0,posYItem)
# posYItem+=15
# self.scr.put_text(f"W:0 E:0",0,posYItem)
self.scr.redraw()